問題タブ [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.
django - GenericForeignKey を削除する Django
このチュートリアルに従って、アクティビティ フィードを実装しようとしています。
対応するオブジェクト、つまりコメント自体が削除されたときに、アクティビティ (つまり、コメントが追加された) を削除したいと考えています。これはカスケードしていないようです。
GenericRelation を追加せずにこれを達成する方法はありますか? postdelete シグナルを使用して、対応するアクティビティを削除することができます。それが最善の方法ですか?
django - Django 1.5 ModelForm は、画像と外部キーを表示した管理者のようなものです
私は次のモデルを持っています:
フロントエンド ビュー /surfboard/add で、管理者にあるのと同じフォームを使用できるようにしたいと思います。
新しい Django ファンおよびユーザーとして、フォームをゼロから作成し始めました。外部キー「震え」をドロップダウンリストとして含めて、私が望むことを行うことができないので、ドキュメントでModelFormを見つけ、それを使用することにしたので、ここで私が得たもの:
私の見解では、それは次のように見え、すでに良いスタートを切っています。
そこで、複数の写真を同時に追加する方法が必要でした。これらの写真は、ジェネリック リレーションを介してサーフボードにリンクされています。ここで、管理者のように実装を行う方法が見つからず、イライラします。そうするためのヒントはありますか?
ありがとう!
django - Django にまたがる複雑なクエリは、一般的な関係を逆にします: 可能ですか?
私は次のクラスImage
を持っていますGenericRelation
:
特定のプロパティを持つすべての画像を取得しようとしているので、次のようにします。
しかし、これにより次のエラーが発生します。
そのようにクエリすることはできませんか?代替手段として何ができますか?
django - Django 汎用外部キー フィルタリング (v1.5 と v1.6 の違い)
次の概念モデルがあります。
Django v1.4 & Django v1.5 では、次のクエリは正常に機能します。
生成される SQL (sqlite) は次のようになります。
ただし、Django 1.6 では、クエリは FieldError で失敗します。
リリース ノートの次の記述が関連している可能性があります。
Django 1.6 には、ORM に対する多くの変更が含まれています。これらの変更は、主に次の 3 つのカテゴリに分類されます。
- バグの修正 (例: 一般的なリレーションの適切な結合句、クエリの結合、結合の昇格、および結合のトリミングの修正)
私の質問は、これが壊れる原因となった Django 1.6 の変更点は何ですか? extra
Python でこのタイプのフィルタリングを使用または実行することに行き詰まっていますか?
python - 一般的な外部キーをフィルタリングするには?
私はこれらのモデルを持っています:
EventEntry クラスは、会議やマイルストーンなどのオブジェクトにスケジュール情報を添付するために使用されます。
ObjectPerm クラスは、保護が必要なすべてのモデルにオブジェクト レベルのアクセス許可を提供します。
Meeting のインスタンスを作成するときに、スケジュール情報に EventEntry インスタンスを割り当てます。また、ObjectPerm インスタンスを割り当てて、会議オブジェクトにアクセスできるユーザーを指定します。
Meeting や Milestone などのモデルが他にもあります。
ここで、EventEntry インスタンスを取得しますが、ObjectPerm モデルに基づいて、ユーザーがアクセス権を持つ関連オブジェクトのインスタンスのみを取得します。
たとえば、public == True であるすべての EventEntry インスタンス、またはユーザーが EventEntry フィールド「users」にある場合などです。このようにして、カレンダーに表示するすべてのイベントを引き出すことができますが、会議やマイルストーンなどをフィルター処理する必要はありません。ただし、Django の ORM を使用して Python でこのフィルターを作成する方法がわかりません。
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
ため、コードが壊れます。
他の誰かがそのようなエラーに遭遇したり、修正するのを手伝ってくれたりしましたか? 助けてください!
トレースバックは次のとおりです。
python - Python は GenericRelation オブジェクトを取得します
次のコードがあります。
data/telephone.py :
model.py :
いいえ、次のようにユーザーのすべての電話番号を取得する機能を提供したいと思います。
問題は、print(self.telephonenumbers.all())
多数の電話番号が提供されているにもかかわらず、回線が電話番号を出力しないことです。返された辞書も空です。
コンテキスト内に保存された GenericRelation オブジェクトにアクセスするにはどうすればよいStaff
ですか?
編集:
次のコード:
保存されているすべての電話番号を教えてくれ、tel.of
その電話番号が属する適切なスタッフ ユーザーを通じて提供されます。
では、なぜ機能しないのでしょうかself.telephonenumbers.all()
(self.user
電話番号が保存されているはずの適切なユーザーも返されます)。