Ich muss zwei Querysets aus verschiedenen Modellen zu einem kombinieren. Die meisten vorgeschlagenen Lösungen die ich gefunden habe sind online:Wie kombinieren Sie zwei Querysets zu einem aus verschiedenen Modellen?
|
zu verwenden und &
, aber das funktioniert nur in querysets aus dem gleichen Modell
chain
und list
zu verwenden, aber das dauert einige der queryset Methoden entfernt und aufgrund der Art, wie der Code in meinem Projekt strukturiert ist, kann ich das nicht ändern. Ich habe es versucht und nicht funktioniert.
Ich lese über Q, aber es ist mir nicht klar, wie ich es anwenden kann, um zu erreichen, was ich brauche.
Grundsätzlich muss ich zwei Abfragegruppen aus verschiedenen Modellen in einem dritten Abfrage-Set, nicht in einer Liste kombinieren. Sie teilen einige Feldnamen, vielleicht ist das nützlich mit Q
. Im Beispiel:
queryset_1 = Cars.objects.all().filter(color='red')
queryset_2 = Horses.objects.all()
queryset_3 = queryset_1 + queryset_2
queryset_3.order_by('date')
Sie können dies nicht tun. Ein queryset definition ist ein Satz von Objekten aus einem einzelnen Modell. –