問題タブ [django-q]

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

python - リストから結合された Q オブジェクトを生成する方法は?

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

django - Django Q オブジェクトが機能しない

Django フィルターを使用して or クエリを作成したいと考えています。私が持っているコードは簡単に思えますが、うまくいきません。私は答えをたくさん読みましたが、何もうまくいきませんでした。障害は何ですか?

コードのコメント行は機能しますが、上記のものは機能しません。

Q オブジェクトのドキュメントは次のとおりです: https://docs.djangoproject.com/en/1.7/topics/db/queries/#complex-lookups-with-q-objects

そして、ここに関連する質問がありますが、それは私にはうまくいきません: Djangoのモデルフィルターシステムを使用してORを使用する方法は?

何が間違っているのか、何を忘れているのか?

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

django - TypeError: サポートされていないオペランド型 |: 'bool' および 'Q'

私はDjango 1.7を実行していますが、次のことTypeError: unsupported operand type(s) for |: 'bool' and 'Q'をしようとすると次のようになります:

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

python - Django の Q オブジェクト

フィルターで取得した var 値を選択して、ループに値を追加するにはどうすればよいですか?

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

django - Q オブジェクトのパラメーター

コードに必要なものを言葉で説明する方法がわかりません。彼がそれを語ってくれることを願っています。オブジェクトのリストからフィルターを作成する必要があります。

不要なコードが機能していません。

更新:コード、見た目は良くなりますが、機能しません:

/projects/ の FieldError

キーワード 'filter_obj' をフィールドに解決できません。選択肢は次のとおりです: begin_time、comment、created_at、created_by、created_by_id、end_time、id、leader、leader_id、name、project_task、status、ticket_project

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

django - リスト内包表記で Q オブジェクトを使用する

次のコードがあります。

elements 変数は、Q オブジェクトの実装を使用したクエリです。ただし、まったく同じ値のセットを参照しますQ(book__pk=obj.id)。2 つのクエリを実行する必要がないように、リスト内包表記book_elementsの内部を参照するにはどうすればよいですか。Q(book__pk=obj.id)次のようなもの:

要求された私の要素モデル:

どんな助けでも大歓迎です!

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

python - Django Q オブジェクトと m2m クエリ

私はこの行動に完全に困惑しています。私は自分が思っていたように Q オブジェクトを明らかに理解していないか、非常に愚かで明白なことをしています。これが私が遭遇しているものです。Accepted_attendee_* はすべて、OfficialProfile との m2m 関係です。デモンストレーションを簡単にするために、django シェルで。

これはすべて予想どおりです。さて、Q オブジェクトと組み合わせると、事態は奇妙になります。

同じ PK を持つ 2 つのオブジェクトが返されます。つまり、2 つの重複オブジェクトです。個々のクエリに基づいて、1 つだけにする必要があります。しかし、もう一度、これを行うと:

この OR クエリでは、オブジェクトが 1 つだけであるべきなのに、2 つのオブジェクトが返されるのはなぜでしょうか?

編集

そこで、生成されたクエリを調べたところ、「答え」は Q オブジェクトや OR とはまったく関係がないようです。むしろ、ORM がテーブルを結合する方法です。OR がない場合の SQL とそれが生成する結果は次のとおりです。

そして明らかに、OR を追加すると、結合の結果に基づいて 2 つのクエリ条件が満たされます。したがって、distinct をクエリに追加するのは不必要に思えますが、非常に必要です。