.distinct([*fields])
funguje pouze v PostgresSQL.
Od distinct dokumentaci
Tady je rozdíl. U normálního volání different() databáze porovnává každé pole v každém řádku při určování, které řádky jsou odlišné. Pro volání different() se zadanými názvy polí databáze porovná pouze zadané názvy polí.
Jak je uvedeno, všechna pole v záznamu jsou zkontrolována. S největší pravděpodobností ve vašem případě získáváte záznamy s různými hodnotami polí (pravděpodobnější případ, kdy se dotazujete na více tabulek ManyToMany nebo ForeignKey vztahy).
Pro konsolidaci jako pole se můžete obrátit na svou dřívější otázku Odlišné hodnoty dotazu Django fungují, ale nemohu použít výsledek dotazu