問題タブ [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.

0 投票する
1 に答える
1928 参照

django - カスタムマネージャを使用してdjangoでオブジェクトを作成する目的は?

私はDjangoのドキュメントで見ます:

モデル インスタンス リファレンス : オブジェクトの作成

__init__メソッドをオーバーライドしてモデルをカスタマイズしたくなるかもしれません。ただし、変更するとモデル インスタンスが保存されなくなる可能性があるため、呼び出し元の署名を変更しないように注意してください。
をオーバーライドするのではなく、__init__次のいずれかの方法を試してください。

  • モデル クラスにクラスメソッドを追加します。
  • カスタム マネージャーにメソッドを追加する(通常は推奨)

2番目の解決策が「通常好まれる」のはなぜですか?

リレーションを介してモデルBを拡張するモデルがあり、対応するオブジェクトも生成するオブジェクトを生成するメソッドを作成したい状況では、提案されているようにカスタムマネージャーを使用するのが「より良い」方法です。おそらく、このマネージャは、デフォルトのマネージャによって提供されるもの以外には使用しないでしょうか?AOneToOneBA

0 投票する
1 に答える
67 参照

django - Djangoで関係アイテムをフィルタリングするには?

2つのモデルクラスがあるとしましょう。カテゴリには名前と複数のタグがあり、タグには名前があり、表示または非表示にすることができます。

編集: カテゴリのリストがあり、カテゴリごとに、visible=True を持つタグのみを表示したいとしましょう。どうすればよいですか?

0 投票する
1 に答える
858 参照

python - 新しいレコードを作成する前にフィールドを処理するためのカスタムマネージャのCreate_user()またはDjangoカスタムユーザーモデルのsave()メソッド?

self.pk が None であることをテストする save() メソッドを持つ Django カスタム ユーザー モデルがあり、新しいユーザー レコードを作成する前にフィールドに追加の処理を行います。これは、それを置くのに適切な場所ですか、それとも、カスタム ユーザー マネージャーの create_user() メソッドに入れることになっていますか? 違いはありますか?

0 投票する
1 に答える
1447 参照

python - Django カスタム ユーザー マネージャーでは、create_user と _create_user() の違いは?

Django カスタム ユーザー マネージャーのチュートリアルを実行しようとしています。それらのほとんどは、ドキュメントに記載されているように create_user() と create_super_user() をオーバーライドしますが、このチュートリアルではこれら 2 つのメソッドをそのままにして、代わりに _create_user() をオーバーライドします。

http://www.caktusgroup.com/blog/2013/08/07/migrating-custom-user-model-django/

これは正しいです?_create_user() と create_user() のオーバーライドの違いは何ですか?

0 投票する
2 に答える
1242 参照

django - django: Manager で ForeignKey _id-Field にアクセス中に予期しないキーワード引数を取得しました

次のようなモデルがあります。

manager には、誰かがすでに別のユーザーのメンターであるかどうかを確認する関数がありclean()、インスタンスの実行中に呼び出されます。

mentor_idただし、存在するormentee_id属性にアクセスしている間は常に例外が発生します。

manager 内の _id フィールドにアクセスできない理由はありますか? (保存されていない)インスタンスではフィールドにアクセスできるのに、マネージャーではアクセスできない理由がわかりません。

0 投票する
1 に答える
100 参照

python - 日付が未来に設定されている場合、start_date と end_date のモデル マネージャが機能しない

パブリッシュされたすべてのエントリを取得するモデル マネージャを作成しようとしていますが、start_date は の過去ですnow。奇妙なことに、日付を過去 (1 分前) の値に設定するとすべてが機能しますが、将来 (1 分前) の日付を設定すると、さらに待ってもオブジェクトが表示されません。テストに1分以上。サーバーを再起動するだけで、エントリが表示されます。しかし、エントリを公開するたびにサーバーを再起動することはできません。

このコードの何が問題なのか、誰にもわかりますか? または、これは別の方法で行うことができますか?

私の見解は次のとおりです。

編集:

ビューのnow = timezone.now()定義内に移動すると、正しい公開エントリが取得されます。なぜ正しいものが表示されないのですか?entries_publishedCategoryDetailEntryListView

これが私のCategoryDetail見解です

2を編集します。

EntryListViewがこれに変更した場合:

すべてが機能します。奇妙ですが、私は気にしません。

0 投票する
1 に答える
67 参照

django - 子モデルのフィールドに基づいてモデルをフィルタリングするにはどうすればよいですか?

次のモデル構造があります。スライスされたためにローフが在庫にないかどうかを確認するように InventoryManager を変更することは可能ですか?

get_shipment メソッドを使用したかったのですが、フィールドではありません。成功せずに次のことを試しました

読んでくれてありがとう!

0 投票する
2 に答える
8696 参照

django - timezone.now().date は関数ですか、それとも呼び出し可能ですか?

私は Django 1.5 でマネージャーを書いています。QuerySet今日または将来の開始日を持つオブジェクトを含むを返したいです。以前の問題に対するこの回答に基づいて、マネージャーは関数ではなく呼び出し可能オブジェクトを使用する必要があると思います。私は書いた:

私はそのコードを、その値をdate関数 ( ) に依存する呼び出し可能 ( ) として読みました。timezone.now()しかし、Django はそれを callable または function として扱いますか?

オブジェクトを作成して明日まで待つことでこれをテストできることは知っていますが、これを完全に理解したいと思います。