.distinct([*fields])
funktioniert nur in PostgresSQL.
Von verschieden Dokumentation
Hier ist der Unterschied. Bei einem normalen unique()-Aufruf vergleicht die Datenbank jedes Feld in jeder Zeile, wenn bestimmt wird, welche Zeilen unterschiedlich sind. Bei einem unique()-Aufruf mit angegebenen Feldnamen vergleicht die Datenbank nur die angegebenen Feldnamen.
Wie bereits erwähnt, werden alle Felder in einem Datensatz überprüft. Höchstwahrscheinlich erhalten Sie in Ihrem Fall Datensätze mit unterschiedlichen Feldwerten (wahrscheinlicher ein Fall, wenn Sie mehrere ManyToMany- oder ForeignKey-Relationen abfragen).
Zum Konsolidieren als Array können Sie auf Ihre frühere Frage verweisen Django Query Distinct Values funktioniert, aber ich kann das Abfrageergebnis nicht verwenden