問題タブ [generic-foreign-key]

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 投票する
0 に答える
289 参照

python - Django admin - GenericForeignKey のフィールドでソート

リスト表示の GenericForeignKey のフィールドでソート機能が必要です。

models.py

admin.py

Django adminからこのadmin_order_fieldを試しました: データベース フィールドを持たないカスタム list_display フィールドの 1 つによって並べ替える方法ですが、

しかし、ソートしようとすると FieldError が発生します。管理者リスト表示で、 closed_dateフィールドでソートできるようにする必要があります。

前もって感謝します。

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

python - Django のアップグレード: リレーション「django_content type」が存在しません

django のバージョンを 1.7.5 から 1.9.2 にアップグレードしました。すべての移行が実行されましたが、テストを実行するとエラーが発生します。

データベースを確認したところ、django_content_type モデルが存在します。私はPostgreSQLを使用しています。

Sqlite3 ではなく PostgreSQL でのみこのエラーが発生します。

トレースバック

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

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

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

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

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

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

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

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

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

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

django - GenericForeign キー オブジェクトの name 属性を取得します

Django アプリに次のモデルがあります: GenericForeign Key オブジェクトのキーを表示するだけでなく、このモデルで選択した content_object の "name" 属性を取得し、modelAdmin クラスの list_display に表示するにはどうすればよいですか。これについて本当に助けが必要です。

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

django - Djangoが関連する汎用外部キーオブジェクトのカスケード削除に失敗する

モデルで次のように定義しています。

このモデルは、タプルTask内のモデルのいずれかとオブジェクトをリンクします。link_choicesこの場合、accounts.Locationモデルはこのリストにあります。

私の問題は、Locationオブジェクトを削除すると、関連するオブジェクトがカスケード削除される場合に発生しTaskLinkます。削除に失敗し、次のエラー メッセージが表示されます。

ビューは、パラメーターとモデル セット (およびディスパッチ メソッドにパーミッション デコレーターが追加されている)django.views.generic.DeleteViewのみを持つのインスタンスです。モデルをミックスpk_url_kwargに追加する前は、linked_object_fine で動作していました。TaskLink

私は何が欠けていますか?

編集: これは Django のバグのようです。一般的な外部キーを介してオブジェクトをカスケード削除する場合、Django は、フィールドのコンストラクターに渡すフィールド名文字列を無視し、GenericForeignKey代わりにcontent_typeandフィールドを探しobject_idますが、私の場合は存在しませんでした。これにより、カスケード削除を実行しない限り、モデルが持つ可能性のある一般的な外部キーの数が効果的に 1 に制限されます。

この問題は意図的な動作である可能性があるため、Django メーリング リストを通じて送信しました。