問題タブ [django-generic-relations]

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 に答える
798 参照

python - Djangoでは、単一のフォームフィールドから一般的な関係を作成する方法は?

私たちのアプリケーションにはA、2 つのモデル (BまたはC) のいずれかのインスタンスに関連付けることができるため、一般的な関係のフィールドを持つモデルがあります。

非ジェネリックの ForeignKey フィールドに入力する場合、ModelChoiceField を使用できます。B問題は、との両方のクエリセットから選択肢が入力される MultipleModelsChoiceField が見つからないことCです。

既存の Django コードを可能な限り再利用して、この問題を解決するにはどうすればよいでしょうか?

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

python - GenericRelation の逆を使用する方法

Django のコンテンツ タイプ フレームワークのGenericRelationフィールドについて、私は本当に誤解しているに違いありません。

最小限の自己完結型の例を作成するために、チュートリアルの polls サンプル アプリを使用します。モデルに一般的な外部キー フィールドを追加しChoice、新しいThingモデルを作成します。

クリーンなデータベースを使用して、テーブルを同期し、いくつかのインスタンスを作成します。

これまでのところ、関係はインスタンスから双方向に機能します。しかし、クエリセットから見ると、逆の関係は非常に奇妙です。

逆の関係が からの id を再び与えるのはなぜthingですか? 代わりに、次の結果と同等の選択の主キーを期待しました。

これらの ORM クエリは、次のような SQL を生成します。

Djangoのドキュメントは一般的に優れていますが、2番目のクエリがなぜその動作のドキュメントを見つけるのか理解できません.間違ったテーブルから完全にデータを返すようです?

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

django - エラーを示す Django の汎用外部キーは、コンテンツ タイプのインスタンスである必要があります

次の抽象クラスがあります

現在、2 つのクラスが上記から継承されています:-

今、それらを機能にリンクしたいので、次のクラスを作成します:-

しかし、シェルコマンドでインスタンスを作成しようとすると、マッピングインスタンスの作成中にエラーが発生します

「Mapping.content」は「ContentType」インスタンスである必要があります。

どうすればこれを進めることができますか?

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

python - Django で汎用外部キーを使用して unique_together を追加する方法

私が間違っているのか、それとも Django で GenericForeign Relations を使用する際に一意の制約を処理するときに問題があるのか​​ わかりません。

オブジェクトを保存しようとすると (たとえば管理者で)、データベースから一意の制約エラー (500 が発生) が発生しますが、管理者 (UI) では ValidationError は発生しません。

以下は私のコードスニペットです、

以下のような一般的な関係モデルが 1 つあります。

そして、それを使用している私の他のモデルは、

発生した例外:

duplicate key value violates unique constraint "mymodel_targeting_targeting_type_0dff10ee_uniq" DETAIL: Key (targeting_type, content_type_id, object_id)=(geo, 18, 188) already exists.

私がそれを実装した方法に何か問題がありますか? または、このように使用するためのものではありませんか?

どんな種類の助けも本当に感謝しています。ありがとう