0
次のモデルがあるとします。私がやりたいのは何Djangoはプリフェッチにネストすることができますか?
class Item(models.Model):
seller = models.ForeignKey('seller.Seller')
class ItemSet(models.Model):
items = models.ManyToManyField("Item", related_name="special_items")
は項目セットでspecial_itemsとして格納されているすべてのアイテムを取得し、与えられた売り手のために
です。
次のコードは、私が思いついたものです。試してみたhavent、ちょうどそれがうまくいかないでしょう。 :(
(私はitem_foundsとitem_specialsを取得したい)ジャンゴで
item_founds = Item.objects.filter(seller=seller).prefetch_related(
Prefetch(
"special_items",
queryset=Items.objects.prefetch_related("items")
)
)
item_specials = Item.objects.none()
for item_found in item_founds.all():
for special_item in item_found.special_items.all():
item_specials |= special_item.items.all()
'prefetch_related'の使い方はそれほど遠くないように思われるので、テストして、何がうまく動作しないのか詳細情報を提供してください! –