Gegeben die folgenden Modelle:
%Vor%Ich möchte Folgendes an eine Vorlage übergeben:
%Vor%"Blog.objects.filter (...)" gibt jedoch dasselbe Blog-Objekt mehrmals zurück, wenn mehr als ein übereinstimmender Eintrag gefunden wird.
Wie entfernen Sie die Duplikate? Oder besser noch, fehlt mir eine einfachere Möglichkeit, die Liste der Treffer an die Vorlagen zu übergeben?
Durch das Hinzufügen von .distinct()
erhalten Sie nur eindeutige Ergebnisse.
Weitere Informationen finden Sie in den APIs für QuerySet-APIs für die Funktion "distinct ()":
Gibt ein neues QuerySet zurück, das verwendet SELECT DISTINCT in seiner SQL-Abfrage. Dies entfernt doppelte Zeilen aus dem Abfrageergebnisse.
Ein QuerySet wird dies standardmäßig nicht tun Eliminiere doppelte Zeilen. In der Praxis, das ist selten ein Problem, weil einfache Abfragen wie Blog.objects.all () führt das nicht ein Möglichkeit von doppelten Ergebniszeilen. Wenn sich Ihre Abfrage jedoch über mehrere erstreckt Tabellen, ist es möglich, doppelt zu erhalten Ergebnisse, wenn ein QuerySet ausgewertet wird. Dann würden Sie distinct () verwenden.
Tags und Links django filter duplicates