問題タブ [django-managers]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - Django:カスタムマネージャーを使用してベースモデルから継承するモデル。マネージャーは動的変数を持つことができますか?
すべてのモデルにこのマネージャーを継承させる必要があります(このマネージャーをテストしていないので、ばかげているかもしれないので、提案や批判も完全に受け入れています):
あなたは私がやろうとしていることを見ることができます。私が扱っているアカウントに基づいて、どこでもフィルターで除外する必要性を制限します。
このマネージャーを私のすべてのモデルで動作させるための最良の方法は何でしょうか?それを使った抽象的なベースモデル?また、ビューレベルからアカウント変数をどのように渡すのですか?これはすべて間違っていて邪悪ですか?私は今一週間これを征服する方法を見つけようとしてきました:(。
django - DRYを壊さずにカスタムQuerySetとManager?
DRYを壊さずにカスタムQuerySet
とカスタムの両方を実装する方法を見つけようとしています。Manager
これは私がこれまでに持っているものです:
私がこのようなことをするまで、これはうまくいきます:
QuerySet
はと同じメソッドを持っていないため、これはすぐにすべてを壊しますManager
。カスタムQuerySet
クラスを作成してで実装しようとしましたMyInquiryManager
が、すべてのメソッド定義を複製することになります。
このスニペットも機能することがわかりましたがfor_user
、再定義に大きく依存しているため、追加の引数を渡す必要がありget_query_set
ます。
QuerySet
とManager
サブクラスの両方ですべてのメソッドを再定義せずにこれを行う方法はありますか?
django - カスタムマネージャーにログインしたユーザーのdjangoアクセス
作成したカスタムマネージャーで現在ログインしているユーザーにアクセスしたい。これを実行して、結果をフィルタリングして、アクセスできるオブジェクトのみを表示できるようにします。
実際に渡さずにこれを行う方法はありますか?request.userを実行できるビューでの動作と似ています。
ありがとう
django - ユーザーがカスタマイズした django モデルのフィルタリング マネージャー
私は次のようなモデルを持っています:
デフォルトの Manager をオーバーライドしたいと考えています。しかし、現在のユーザー変数をマネージャーに渡す方法がわからないため、次のようにスムーズに実行する必要があります。
マネージャーをオーバーライドするだけでそれを取り除くにはどうすればよいですか?
ありがとう。
python - Django モデルはマネージャーを継承しますか? (私はそうではないようです)
私は2つのモデルを持っています:
B.objects
のインスタンスへのアクセスを許可することを期待しますがClassAManager
、そうではありません....
から属性をB
継承しないのはなぜですか?objects
A
django - カスタムユーザーモデルをユーザーUserProfileにリファクタリングする:カスタムUserManagerを作成するか、user.get_profile()を何十回も追加する必要がありますか?
UserProfileを作成し、AUTH_PROFILE_MODULEで定義することにより、django.contrib.auth.modelsから標準のユーザーモデルをカスタマイズしたアプリをリファクタリングしています。
問題は、UserProfileの属性が、ユーザーに表示される内容を決定するためにプロジェクト全体で使用されることです。
私はテストを作成し、このタイプのステートメントを繰り返し入力していました。
これは面倒で、DRYの原則に違反していないかどうか疑問に思っています。
ユーザーが要求されたときにUserProfileデータを自動的にロードするカスタムUserManagerを作成する方が理にかなっていますか。
UserProfile属性を繰り返し処理して、それらをUserモデルに追加することもできます。これにより、コードを散らかすカスタムモデル属性へのすべての参照を更新する必要がなくなります。
もちろん、UserモデルとUserProfileモデルを正しく更新できるようにするには、プロセスを逆にする必要があります。
Django風のアプローチはどれですか?
django - Django マネージャー
私は次のモデルコードを持っています:
MusicManager() と SportManager() を登録することで、Event.music.all() と Event.sport.all() クエリを呼び出すことができます。しかし、どうすれば Event.music.count() を作成できますか? MusicManager の count_music() 関数で self.all() を呼び出して、「Music」カテゴリの要素のみをクエリする必要がありますか?それとも、最初にカテゴリを検索する際にそれらをフィルタリングする必要がありますか?
django - マネージャー、モデルの継承、またはdjangoでユーザーをスライスするために何をしますか?
私はDjangoでプロジェクトを書いています。そこでは5種類のユーザーグループがあります。
- グループ1
- グループ2
- ..。
次に、ユーザーと多くの関係を持つモデル、アイテムがあります。アイテムには、1人の所有者(Group1のユーザー)、顧客(Group2のユーザー)、および多くのRelatedUser(Group3のユーザー)があります。
この関係を書く正しい方法はどれかと思います。私は次のようなものを書きたいです:
何らかの方法でOwner、Customer、RelatedUserクラスを定義しました。
私はこれを達成する方法がわかりません。テーブルUserが必要なだけなので、モデルの継承は使用しません。マネージャーでさえ私を助けていないようです。実際、私は次のようなものを使用しています。
主な理由は、フォームを開始するときに空のデータベースグループ「customers」が存在せず、エラーが発生するためです。
これを買う余裕がある正しい方法はどれですか?
前もって感謝します
django - 管理者ではなくサイト上のオブジェクトをフィルター処理するカスタムマネージャー?
私はこの例に従いましたが、うまく機能しますが、管理者にいるときにすべてのオブジェクト (アクティブおよび非アクティブ) が表示されるように例外を設定できるかどうか疑問に思っています。これは簡単かもしれませんが、ドキュメントでその方法を見つけることができません。
今のマネージャーはこんな感じです。
django - モデルインスタンスを介してマネージャーにアクセスできない
別のインスタンスでモデルオブジェクトインスタンスを取得しようとしていますが、このエラーが発生します:
これが私のモデルです:
これが私の見解です:
そして私は得る: