問題タブ [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.
python - Django admin - GenericForeignKey のフィールドでソート
リスト表示の GenericForeignKey のフィールドでソート機能が必要です。
models.py
admin.py
Django adminからこのadmin_order_fieldを試しました: データベース フィールドを持たないカスタム list_display フィールドの 1 つによって並べ替える方法ですが、
しかし、ソートしようとすると FieldError が発生します。管理者リスト表示で、 closed_dateフィールドでソートできるようにする必要があります。
前もって感謝します。
python - Django のアップグレード: リレーション「django_content type」が存在しません
django のバージョンを 1.7.5 から 1.9.2 にアップグレードしました。すべての移行が実行されましたが、テストを実行するとエラーが発生します。
データベースを確認したところ、django_content_type モデルが存在します。私はPostgreSQLを使用しています。
Sqlite3 ではなく PostgreSQL でのみこのエラーが発生します。
トレースバック
python - GenericRelation の逆を使用する方法
Django のコンテンツ タイプ フレームワークのGenericRelation
フィールドについて、私は本当に誤解しているに違いありません。
最小限の自己完結型の例を作成するために、チュートリアルの polls サンプル アプリを使用します。モデルに一般的な外部キー フィールドを追加しChoice
、新しいThing
モデルを作成します。
クリーンなデータベースを使用して、テーブルを同期し、いくつかのインスタンスを作成します。
これまでのところ、関係はインスタンスから双方向に機能します。しかし、クエリセットから見ると、逆の関係は非常に奇妙です。
逆の関係が からの id を再び与えるのはなぜthing
ですか? 代わりに、次の結果と同等の選択の主キーを期待しました。
これらの ORM クエリは、次のような SQL を生成します。
Djangoのドキュメントは一般的に優れていますが、2番目のクエリがなぜその動作のドキュメントを見つけるのか理解できません.間違ったテーブルから完全にデータを返すようです?
django - GenericForeign キー オブジェクトの name 属性を取得します
Django アプリに次のモデルがあります: GenericForeign Key オブジェクトのキーを表示するだけでなく、このモデルで選択した content_object の "name" 属性を取得し、modelAdmin クラスの list_display に表示するにはどうすればよいですか。これについて本当に助けが必要です。
django - Djangoが関連する汎用外部キーオブジェクトのカスケード削除に失敗する
モデルで次のように定義しています。
このモデルは、タプルTask
内のモデルのいずれかとオブジェクトをリンクします。link_choices
この場合、accounts.Location
モデルはこのリストにあります。
私の問題は、Location
オブジェクトを削除すると、関連するオブジェクトがカスケード削除される場合に発生しTaskLink
ます。削除に失敗し、次のエラー メッセージが表示されます。
ビューは、パラメーターとモデル セット (およびディスパッチ メソッドにパーミッション デコレーターが追加されている)django.views.generic.DeleteView
のみを持つのインスタンスです。モデルをミックスpk_url_kwarg
に追加する前は、linked_object_fine で動作していました。TaskLink
私は何が欠けていますか?
編集: これは Django のバグのようです。一般的な外部キーを介してオブジェクトをカスケード削除する場合、Django は、フィールドのコンストラクターに渡すフィールド名文字列を無視し、GenericForeignKey
代わりにcontent_type
andフィールドを探しobject_id
ますが、私の場合は存在しませんでした。これにより、カスケード削除を実行しない限り、モデルが持つ可能性のある一般的な外部キーの数が効果的に 1 に制限されます。
この問題は意図的な動作である可能性があるため、Django メーリング リストを通じて送信しました。