.distinct([*fields])
работи само в PostgresSQL.
От distinct документация
Ето разликата. За нормално извикване на different() базата данни сравнява всяко поле във всеки ред, когато определя кои редове са различни. За извикване на different() с определени имена на полета, базата данни ще сравнява само посочените имена на полета.
Както е посочено, всички полета в записа се проверяват. Най-вероятно във вашия случай получавате записи с различни стойности на полета (по-вероятно е случай, ако заявите множество таблици ManyToMany или ForeignKey отношения).
За консолидиране като масив можете да се обърнете към предишния си въпрос Отличителните стойности на Django Query работят, но не мога да използвам резултата от заявката