.distinct([*fields])
solo funciona en PostgresSQL.
Desde distinct documentación
Esta es la diferencia. Para una llamada normal de distinto(), la base de datos compara cada campo en cada fila al determinar qué filas son distintas. Para una llamada distintiva() con nombres de campo especificados, la base de datos solo comparará los nombres de campo especificados.
Como se indicó, todos los campos en un registro están verificados. Lo más probable es que en su caso esté obteniendo registros con diferentes valores de campo (es más probable que sea un caso si consulta varias tablas de relaciones ManyToMany o ForeignKey).
Para consolidar como matriz, puede consultar su pregunta anterior Los valores distintos de Django Query funcionan pero no puedo usar el resultado de la consulta