Was ist der effizienteste Weg, um alle Datensätze von einem ManyToMany in ein Abfrage-Set zu bekommen?django queryset von anderen querieset manytomany
Um ein Beispiel zu geben, Wenn ich ein Modell mit dem Namen Events
, die eine ManyToMany zu einem Modell namens Items
hat, und ich habe ein Abfrage-Set, das Events
enthält. Wie bekomme ich das Abfrage-Set, das alle Items
enthält, die alle Events
im Abfrage-Set-Punkt auf?
Wenn es ein einzelnes Ereignis wäre, wäre es: Events.items.all()
. aber das ist ein Abfrage-Set, also kann ich es nicht tun.
Dank
Hallo moses, danke, aber ich weiß bereits prefetch_related() es ist nicht genau das, was ich frage .. 'items = [e.items.all() für e in Veranstaltungen]' wird mir die Gegenstände, aber ich ' Ich suche nach einem * queryset von Elementen *, nicht einer Liste (zB möchte ich andere Filter anwenden, bevor ich sie abrufe etc.). Auch ich kann hier falsch liegen, aber ich bezweifle, dass es der effizienteste Weg ist .. –
Dann können Sie sich dies [http://stackoverflow.com/questions/12973929/why-does-djangos-prefetch-related- Nur-Arbeit-mit-allem-und-nicht-Filter). Sie können filtern, wenn Sie das verwandte Objekt direkt ohne Verwendung von 'prefetch_related' erhalten –