問題タブ [django-queryset]

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

python - django - リストをクエリセットに戻す

計算値に基づいてソートしたいレコードがいくつかあります。ここで答えを得ました...そのように:

次のような Profile クラスで:

残念ながら、ジェネリック ビューはクエリセット オブジェクトを予期しており、リストを指定するとエラーがスローされます。

クエリセットを返すこれを行う方法はありますか

また...

どういうわけかリストをクエリセットに変換できますか? django docs でそのようなものを見つけることができませんでした。

データを非正規化しないことを望んでいますが、必要に応じて非正規化すると思います。

更新/回答:

クエリセットを取り戻す唯一の方法は、すべてのロジックをSQLクエリに入れることができる場合です。

それが不可能な場合は、(私が思うに) データを非正規化する必要があります

0 投票する
3 に答える
13324 参照

django - ForeignKey フィールドに特定の値を持つ Django モデル内のすべてのオブジェクトを取得するにはどうすればよいですか?

「親」の外部キーを持つモデルがあります

こちらはFKモデル

親が「xyz」のすべての項目を取得するクエリを実行しようとしていますが、何も取得できません

私がしようとすると:

または:

エラーが発生します:

これを行う適切な方法は何ですか?

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

django - クエリフィルターの結果を並べ替えるにはどうすればよいですか?

ビューにこのコード行があり、日付ごとにアイテムのグループを表示できます(順序を逆にして、最新のものが最初に表示されるようにしました)。

order_by正常に動作しますが、コードをフィルターで連結すると...

なぜこれが機能しないのですか?構文が貧弱なのか、それともこれがどのように機能するのか理解していないのでしょうか。

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

django - Django - Q を使用した null リレーションシップにまたがるクエリセット

次のモデルを検討してください。

C のオブジェクトを作成するときは、オブジェクトに classA または classB のいずれかの関係があることを確認します。

特定の fieldOfA または特定の fieldOfB 値に対して C のオブジェクトを取得する単一のクエリセットを探しています。

これを試しましたが、失敗しました (有効な結果があるにもかかわらず、[] を返します)。

私が見る問題は「|」です それが適用されます。classA と classB の 2 つの異なるクエリセットが正常に機能します。これを機能させるために単一のクエリセットを適用する方法はありますか? さらに悪いことに、個々のクエリセットをマージする方法です。

0 投票する
4 に答える
25165 参照

django - 2つのDjangoQuerySetを1つにマージして、SELECTDISTINCTを作成する方法

models.py

私のview.pyでは:

ForeignKeyに切り替える前は、次の機能を使用していました。

これらの2つのQuerySetを1つのQuerySetに「結合」して、distinct()を作成するにはどうすればよいですか?

ありがとう!

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

django - Django:外部キー検索で pk が自動的に使用されないのはなぜですか?

私は持っている

これは機能します:

しかし、これはしません:

なんで?(ジャンゴ 1.0.2)

クエリ ログを見ると、予期しないことを行っています。そのクエリは以下をもたらしました:

しかし、これを行う

このクエリを与える

これは私が望んでいたことですが、私にはそれが唯一=のオブジェクトであることを意味しているように思えます。django が実際に実行しているクエリは、オブジェクトが実績リストのどこかにある場合に返されます。

これは正しく設定されており、非常に直感に反していますか、それとも何か間違っていますか?

0 投票する
4 に答える
6209 参照

django - Django-各アルバムからランダムな写真を選択します

syncrによって作成されたデータから各アルバムからランダムな写真を取得しようとしています。モデル(省略形)は次のようになります。

私は多くの異なるアプローチを試しましたが、成功しませんでした。これは別の簡単なものですか?

テイク2:最終コード:

def galleries(request、template_name ='galleries.html'):

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

django - Django QuerySets をループで連結するのは正しいことですか?

アイテムのコレクション (CollectionItem) を表す Collection という Django モデルがあります。各コレクションには、特定のタイプのアイテムのみが含まれます。(CollectionItem には Collection への外部キーがあります)。

特定のタイプの公開フラグ付きリストにあるすべての CollectionItems を取得し、特定のフィールドで並べ替えて返したいと考えています。私が使用するクエリコードは次のとおりです。

大量のリストとアイテムを含む大規模なデータベースがある場合、これはまったくうまく拡張できないと想像する必要があります。Djangoでこれを行うより良い方法はありますか? それとも、クエリ ループに伴う非効率性は、他のオプションと比較して無視できる程度なので、あまり心配する必要はないでしょうか?

0 投票する
3 に答える
7238 参照

sql - Django annotate()が複数回間違った答えを引き起こす

Djangoには、クエリセット用の優れた新しいannotate()関数があります。ただし、単一のクエリセット内の複数のアノテーションに対して正しく機能させることはできません。

例えば、

ツアーには、複数のツアーコメントと履歴エントリを含めることができます。このツアーに存在するコメントと履歴エントリの数を取得しようとしています。結果として

値は正しくありません。annotate()呼び出しが1つしかない場合、値は正しくなります。

LEFT OUTER JOIN2つのsから来るある種の乗法効果があるようです。たとえば、ツアーに3つの履歴と3つのコメントがある場合、9が両方のカウント値になります。12の履歴+1つのコメント=両方の値で12。1履歴+0コメント=1履歴、0コメント(これはたまたま正しい値を返します)。

結果のSQL呼び出しは次のとおりです。

annotate()への単一の呼び出しを含む2つのクエリセットの結果を組み合わせてみましたが、正しく機能しません...順序が同じになることを実際に保証することはできません。そしてそれは過度に複雑で厄介なように見えるので、私はもっと良いものを探していました...

助けてくれてありがとう。Stackoverflowは、過去に多くの回答済みの質問で私のお尻を救ってきましたが、私はまだこれに対する答えを見つけることができませんでした。