問題タブ [generic-relationship]
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 - 注釈付きの Django クエリから非アクティブなコメントをフィルタリング/除外する方法は?
汎用ビューを使用してobject_list
一連の記事をすばやく一覧表示しています。各記事にはコメントが添付されています。クエリは、Count()
コメントの数に対する注釈を使用し、次にorder_by()
その注釈付きの番号を使用します。
コメントはdjango.contrib.comments
フレームワークの一部であり、Generic Relationship を介してモデルに添付されます。Article モデルに明示的な逆ルックアップを追加しました。
問題は、これが「非アクティブ」なコメントをカウントすることです。is_public=False
またはを持つものis_removed=True
。非アクティブなコメントをカウントから除外するにはどうすればよいですか?
sql - Django ジェネリック リレーションと ORM クエリ
次のモデルがあるとします。
少なくとも 1 つの画像が添付されているすべての記事を見つけるための最もプロセッサ効率とメモリ効率の良い方法は何ですか?
私はこれをやった:
これは機能しますが、醜いだけでなく、永遠にかかります。
生の SQL を使用するより良い解決策があるのではないかと思いますが、それは私にはできません。価値があるのは、上記によって生成された SQL は次のとおりです。
編集: czarchaic の提案は、構文がはるかに優れていますが、パフォーマンスはさらに悪い (遅い) ものです。彼のクエリによって生成された SQL は次のようになります。
編集:ジャレット・ハーディ万歳!彼の当然のはずだったソリューションによって生成された SQL は次のとおりです。
django - Django Generic Relations with Django Admin
I have a Django project, that has a "Address" model. This is used in several places - by a "User Profile" model, by a "Hospital" model, by an "Insitution" model etc.
I'm using Django's generic relations to allow each of these objects to create a foreign-key to Address.
However, this seems to cause some weirdness in the Django Admin (or perhaps I'm not understanding correctly how it's meant to be used). In the Django Admin, if I try to create an address, I'm seeing fields for "Content type" and "Object id". The model won't validate/save if these aren't filled. Not sure what to put in these.
The thing is, I wanted to be able to create standalone Address objects. Then, when I create a User Profile, or a Hospital, I could link these to the Address objects, including the possibility of multiple ones linking to the same Address object.
How should I use the Django admin with generic relations?
Also, I'm also intending to use django-reversion for version control of the models, not sure if this will cause any issues with generic relations and the admin?
Cheers, Victor
Edit: I should just add, here's an earlier question I posted Addresses and Inlines:
Django - Designing Model Relationships - Admin interface and Inline
Based on the answers given there, that's why the Address model is the one with a foreign key. And since a normal FK field can only point to one type of object, that's why we're using generic relations.
Each User/Department/Hospital etc. may (and in most cases will) have multiple addresses.
The same address can be used by multiple entities, but this is rarer, and duplication is fine here, I'm guessing, right?
So it'd be a one-to-many from User/Department/Hospital to Addresses.
In that original question, they also suggested using abstract classes, and a different Address model for each entity that needed an Address. I'm still not sure if that's the better approach, or if there's a way to make GenericRelations work with what I'm trying to do here.
python - Django の一般的なリレーションの練習
私は自分の django-app のオブジェクトベースのアクセス許可を持つ認証バックエンドを開発しています。オブジェクトとアクセス許可の間の一般的な関係を使用しています:
そして今、特定のグループまたはユーザーが特定の権限を持っている、指定されたコンテンツ タイプのすべてのオブジェクトを取得したいと考えています。それを行う最善の方法は何ですか?アプリのモデルでリレーションの 2 番目の端を定義しますか? カスタムSQLを書いたほうがいいですか?私は汎用バックエンドを構築しようとしているので、それを使用しているアプリに依存したくありません。ありがとう!
python - 一般的なDjangoとPythonのデバッグでのget_or_createジェネリックリレーション
このデモから一般的に関連するオブジェクトを作成するコードを実行しました: http ://www.djangoproject.com/documentation/models/generic_relations/
すべてが最初は良いです:
しかし、私が自分のアプリに興味を持っているユースケースは次のとおりです。
他のコードを見た後、私はたくさんのランダムなことを試しました:
また:
等
誰かが私に正しい構文を教えてくれると確信していますが、ここでの本当の問題は、何が起こっているのかわからないということです。私は10年以上にわたって強く型付けされた言語(x86アセンブリ、C ++およびC#)で開発してきましたが、Pythonは初めてです。このようなことが壊れたときにPythonで何が起こっているのかを追跡するのは本当に難しいと思います。
前に述べた言語では、このようなことを理解するのはかなり簡単です。メソッドのシグネチャとパラメータを確認してください。Djangoのドキュメントを30分見てみると、私は迷子になりました。get_or_create(self、** kwargs)のソースを確認しても、メソッドシグネチャがなく、コードが非常に一般的であるため、役に立ちませんでした。次のステップは、メソッドをデバッグして何が起こっているのかを理解しようとすることですが、これは少し極端に思えます...
私はここでいくつかの基本的な動作原理を見逃しているようです...それは何ですか?将来、このような問題を自分で解決するにはどうすればよいですか?
django - Django GenericRelation は関連オブジェクトの ID を保存しません - これはバグですか、それとも間違っていますか?
このオブジェクトのインスタンスを作成するときに、別のモデルのインスタンス (B と呼びます) を content_object フィールドの初期化子として渡します (コンストラクターの kwargs を介して)。
A を作成する前に B を保存しないと、A を保存するときに content_object_id が NULL としてデータベースに保存されます。A のコンストラクターに渡す前にB を保存すると、すべて問題ありません。
それは論理的ではありません。A.save() を実行するときに関連オブジェクト (B) の ID がフェッチされ、B がまだ保存されていない場合は何らかの例外をスローする必要があると想定しましたが、黙って失敗するだけです。オブジェクトを廃棄するだけでなく、常にオブジェクトを保持する意思があるかどうかまだわからないため、現在のソリューション (事前に B を保存) は好きではありません。また、パフォーマンスに関する考慮事項もあります。別のデータを追加するとどうなるでしょうか。すぐにもう一度保存します。
次のようにするとします。
もちろん、私はこの方法でそれを行うことができますが、何も変わりません:
私の質問は、これは私が報告すべきジャンゴのバグですか、それとも何か間違ったことをしているのかもしれません。GenericRelations のドキュメントは厳密には冗長ではありません。
django - ジャンゴの一般的な関係で注文する
例:
コンテナーが与えられた場合、「ユニット」を一般的な関係全体でフィールドごとに並べ替えることができますか?
django - Djangoテンプレートで一般的な関係をトラバースするにはどうすればよいですか?
FK関係をトラバースする方法と同様に、Djangoテンプレートで一般的な関係をトラバースしたいと思います。
Models.py
これは私のテンプレートでは機能しないようです:
どんな助けでも大歓迎です。
python - django restフレームワークの一般的な関係で名前でコンテンツタイプを設定します
次のようなビューセットにデータを投稿できるようになりました。
私を悩ませている唯一のことは、フロントエンドが contenttype id を認識しなければならないことです
代わりに、'User' のような content_types の名前を content_type として投稿し、バックエンドで ID を決定できるようにしたいと考えています。