からクエリセットを取得します? 1つのクエリでそれを作ることは可能ですか? 生のSQLでは単純なJOIN
です。 Djangoを使って実装する方法がわかりません。は、私は次のモデルを持っているクエリセット
6
A
答えて
4
Productの属性に基づいてストアをフィルタリングし、次に取得したオブジェクトのprefetch_relatedを取得できるようにする必要があります。
Store.objects.filter(product__name="product_name").prefetch_related('product')
あなたが探しているものを達成するためには、これはデータベースを最も少なくする必要があります。
さらに詳しい文書はhereです。
15
実際にこれらのことをDjangoで行うことができます。これは、怠慢なクエリーセット評価のためです。 Djangoのin
フィールド検索は、リストとクエリセットの両方を受け入れます。以下は、ネストされたSQLコードを作成します。
stores_qs = Store.objects.filter(product__name='product_name')
products = Product.objects.filter(store_set__in=stores_qs)
はジャンゴ
in
ドキュメントです。
0
"PRODUCT_NAME" という名前の製品に店舗を取得:
Store.objects.filter(product__name='product_name')
は名前 "PRODUCT_NAME" と品の場合を除き、すべての製品を取得します。
Product.objects.exclude(name='product_name')
関連する問題
- 1. モデルは、私は次のモデルを持っている
- 2. ジャンゴ:私は私のDjangoのアプリで、次の(簡体字)のモデル持っているクエリセット
- 3. は、私は次のモデルを持っている範囲
- 4. は、私は次のモデルを持っている
- 5. ノックアウトは、私は次のモデルを持っている
- 6. Djangoはラジオボタン、私は次のモデルを持っている
- 7. は、私は次のモデル持っ
- 8. 私は、次のDjangoのモデルを持っているジャンゴ
- 9. 私は次のモデルを持っているジャンゴ
- 10. 私は次のモデルを持っているレール
- 11. CakePHPの:マルチ深いモデルは、私は次のモデル持っ
- 12. Railsは、私は次のモデルを持っている私のアプリケーションで
- 13. は、私は次のモデルを持ってはtimedeltaタイプ
- 14. 次のように私はpolymorhpicモデルを持っているpolymorhicモデル
- 15. 正しい方法は、私は次のモデルを持っている
- 16. は、私は三つのモデルを持っているモデル
- 17. 孤児の行は、私は次のモデルを持っているテーブルに
- 18. NHibernateの内部には、私は次のモデルを持っているクラス
- 19. Railsの「assign_attributesは、」私は、次の構造を持つ2つのモデル持っているネストされたモデル
- 20. validates_uniqueness_ofフィールドには、私は次のモデルを持っているにhas_one関係
- 21. Djangoは - 私は私のモデルのフィールドを持っているTypedChoiceField
- 22. は、私が予約モデルを持っている単一のモデル
- 23. は、私がモデルを持っている別のモデル
- 24. 条件付きで、私は次のモデルを持っているのRails 3.1
- 25. は、私は持つ人のモデル持っている人
- 26. 私は次の式を持っているテキストフィールドを持っている
- 27. 、私はモデルのためのいくつかの結果を含むDjangoのクエリセット持っているDjangoのクエリセットから
- 28. MySQLは、私は、次のDjangoのモデル持っTABLE構文
- 29. は、私は、次のエンティティを持っているDBUnitのはCollectionTable
- 30. は、私は2つのモデルを持っている関連オブジェクト
これはから "PRODUCT_NAME" の製品を除外しません。 prefetch_relatedの結果 –