からクエリセットを取得します? 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. Djangoは私がモデルを持っているクエリセット
- 2. 無関係なモデルを結合し、私は参加したいと思い、次のモデル持っているクエリセット
- 3. モデルは、私は次のモデルを持っている
- 4. は、私は次のモデルを持っているモデル
- 5. は、私は次のモデルを持っているモデル
- 6. ジャンゴ - クエリセット - すべての親が、私はこのモデルを持っている
- 7. どのように私は次のクエリセットを持って
- 8. ジャンゴ:私は私のDjangoのアプリで、次の(簡体字)のモデル持っているクエリセット
- 9. Djangoは、私は次のモデルを持っていると私は別のモデル
- 10. ジャンゴ・輸出入 - 私は、次のモデル持っているモデル
- 11. は、私は次のモデルを持っている範囲
- 12. は、私は次のモデルと関連を持っている
- 13. は、私は次のモデルを持っている
- 14. は、私は次のモデルを持っている
- 15. Djangoは、私は次のモデルを持っている
- 16. Djangoはラジオボタン、私は次のモデルを持っている
- 17. SQLは、私は次のモデルを持っているsequelizejs
- 18. ノックアウトは、私は次のモデルを持っている
- 19. フィルタリングは、私は次のモデル持っている他のフィルタ
- 20. は、私は次のモデル持っ
- 21. は、私は次のモデル持っジャンゴ
- 22. 私は次のモデルを持っているLaravelのforeach
- 23. ProgrammingError:私は、次のモデルとDjangoのアプリを持っている
- 24. のみ、私は次のモデルを持っている場合Json.Net
- 25. 私は、次のDjangoのモデルを持っているジャンゴ
- 26. CakePHPの:私は次のモデルを持っている状態
- 27. Railsは、私は、次の3つのモデルを持っている別のモデル
- 28. CakePHPの:マルチ深いモデルは、私は次のモデル持っ
- 29. 私は次のモデルを持っているジャンゴ
- 30. 私は次のモデルを持っているレール
これはから "PRODUCT_NAME" の製品を除外しません。 prefetch_relatedの結果 –