問題タブ [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 REST API での ValidationError と汎用外部キー書き込み可能アクセスの generic_relations
私はDjango REST APIとgeneric_relationsモジュールを使用して、テンプレートではなくREST API関数を介して駆動されるDjangoコメントの一種のバリアントを作成しています。
名前付きアノテーションの Model クラスは次のようになります。
さて、コンテンツ用の別のモデルがあります。これはほとんど何でもかまいません。たとえば、単純な投稿アプリケーションです。
同じ外観のシリアライザーは次のようになります。
さて、問題は次の行にあります: content_object = GenericRelatedField({ BlogContent: serializers.HyperlinkedRelatedField(view_name='annotation:blogcontent-detail'), }, read_only=False)
を設定して一般的なリレーションを読み取り専用として使用する場合read_only=True
、REST API のブラウズ機能は問題ありませんが、 に切り替えた瞬間にFalse
サーバーが ValidationError を返します。
ログとコードを熟読すると、rest_framework.renderers.py
at get_raw_data_form(self, view, method, request)
Does not find an object in the call のようobj = getattr(view, 'object', None)
です。
これにより、field_to_native
関数をserializer = self.determine_deserializer_for_data(value)
inとして評価しているときに、 as にgeneric_relations
何も渡さないvalue
ため、コードが壊れます。
他の誰かがそのようなエラーに遭遇したり、修正するのを手伝ってくれたりしましたか? 助けてください!
トレースバックは次のとおりです。
django - Django 汎用外部キー
2 つの modelForms を持つフォームがあります。そのうちの 1 つは、他への一般的な外部キーを持っています。フォームの保存中に次のエラーが発生します。
これが私のコードです。
そして、これはフォームを保存する私のビューです
エラーはこの行で発生します
ここで何が欠けているのか誰か教えてもらえますか?
python - Django Rest Framework を使用して Generic Relation をシリアライズする方法
モデルでジェネリック リレーションを使用しており、Django Rest Framework を使用してシリアル化しようとしています。ただし、次のことを行うと、属性エラーが発生します。
models.py
serializers.py
私は何を間違っていますか?これについては、django rest フレームワークのドキュメントではあまり見つけることができませんでした。
python - DJANGO - Rest フレームワークを使用して POST メソッドで genericforeignkey を使用してデータを保存する
データベースに「フィードバック」オブジェクトのインスタンスを保存したいと思います。フィードバック オブジェクトには「クライアント」への外部キーと、「ベンダー」または「ストア」に関連する可能性があるためジェネリック外部キーがあります。許可する 2 つの URL を作成しました。 1 つはベンダーへのフィードバックを作成するため、もう 1 つはストアへのフィードバックを作成するための POST で、どちらも主キーを受け取ります。
クラス図の例:
これが私のアプローチです:
シリアライザーは有効ですが、保存しようとすると次のエラーが発生します。
これは、フィードバック オブジェクトの genericforeignkey が NULL ではないために発生します。
POST メソッドでフィードバックのオブジェクトを作成するにはどうすればよいですか?
でのご依頼の一例ですfeedback/store/(?P<store_id>\d+)/
python - まだ正常な状態で Django に汎用外部キーを設定する
一般的な外部キーを設定しようとして頭を壁にぶつけています。できるだけ多くのコードを投稿するつもりです。1 時間後にもう一度試してみます。
ドキュメントを何百万回も読みましたが、役に立たないようです。
これが私の見解で行っていることです。
フォームはすべて ModelForms です (使いやすさのため、保存機能を使用できます)。彼らはこのように見えます
関連するクラスは次のようになります
すべてがとても単純に見えますが、content_type、object_id、および content_object はボールをプレーしたくありません。私がやりたいことは、Comment Data フォームのインスタンスを作成し、それを content_object タイプに割り当てることです。content_object が (HttpResponse でわかる限り) 何も返さず、content_type と object id の両方が設定されていない、ストリームとコメント データの両方のインスタンスになります。
明らかに明白な/愚かな間違いはありますか?
python - Django Admin の汎用リレーション/汎用外部キー
GenericForeignKey
Django 管理画面で a を表示しようとしましたが、うまくいきません。またはクラスFullCitation
にリンクできるクラスがあります。そのため、一般的な外部キーを使用しました。NonSupportedProgram
SupportedProgram
管理者では、ユーザーがドロップダウンからのみ選択できるようにしてから、フィールドから、ユーザーがドロップダウン リストから既存の s または'NonSupportedProgram'
既存のsを選択できるようにする必要があります。新しいもの。これは可能ですか?どこが間違っていますか?'SupportedProgram'
content_type
object_id
NonSuportedProgram
SupportedProgram
models.py
admin.py
python - 汎用外部キーのフィルター
一般的な外部キーでオブジェクトをクエリ/フィルタリングする「Python/Django」の方法はありますか? is_primary が True である特定のソフトウェアの FullCitation オブジェクトをすべて取得しようとしています。
私はこれを行うことができないことを知っていますが、次のようなことをしたいです:
models.py
views.py # 現在の試み