Supposons que j'ai les modèles suivants.Django possible d'imbriquer prefetch liée?
class Item(models.Model):
seller = models.ForeignKey('seller.Seller')
class ItemSet(models.Model):
items = models.ManyToManyField("Item", related_name="special_items")
Ce que je voudrais faire est
Pour un vendeur donné, récupérer tous les éléments qui sont stockées comme special_items dans itemset.
Le code suivant est ce que je viens avec, havent essayé, juste une intuition, il ne fonctionnera pas. :(
(je veux récupérer item_founds et 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()
Eh bien votre utilisation de 'prefetch_related' ne semble pas être si loin, alors peut-être tester et fournir plus d'informations ce qui ne fonctionne pas pour vous! –