Wie kann ich mit Django zwei Abfragen aus verschiedenen Modellen zu einer Abfrage kombinieren?

In meinem speziellen Fall habe ich zwei Arten von "Nachrichten", die ich abrufen und paginieren muss.

Lassen Sie uns die Details weg und sagen Sie einfach, dass die erste Art in einem Modell namens Msg1 und die andere Msg2 heißt.

Die Felder dieser beiden Modelle sind völlig unterschiedlich. Die einzigen Felder, die den beiden Modellen gemeinsam sind, sind "Datum" und "Titel" (und natürlich id).

Ich kann erhaltenMsg1.objects.all() undMsg2.objects.all() aber kann ich diese beiden Abfragen zu einer Abfrage zusammenfassen, nach Datum sortieren und paginieren?

Ich muss die Trägheit der Abfrage bewahren.

Die einfache Lösung ist,list(query) beide Abfragen und kombinieren Sie sie in einer Python-Liste. aber das ist aus offensichtlichen gründen ineffizient.

Ich habe die Django-Referenzen für Modelle und dp-api durchgesehen, aber es scheint nicht so, als gäbe es eine Möglichkeit, Abfragen verschiedener Modelle / Tabellen in einer zu kombinieren.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage