.distinct([*fields])
fungerar bara i PostgresSQL.
Från distinkt dokumentation
Här är skillnaden. För ett normalt distinct()-anrop jämför databasen varje fält i varje rad när den avgör vilka rader som är distinkta. För ett distinct()-anrop med angivna fältnamn kommer databasen endast att jämföra de angivna fältnamnen.
Som sagt är alla fält i en post kontrollerade. Mest troligt i ditt fall får du poster med olika fältvärden (mer sannolikt ett fall om du frågar efter flera tabeller ManyToMany eller ForeignKey relations).
För konsolidering som array kan du hänvisa till din tidigare fråga Django Query distinkta värden fungerar men jag kan inte använda frågeresultatet