Toto je známá chyba v Django>=1.8 a Django <2.0. Bylo to opraveno v Django 2.0. Měl jsem stejný problém a uvedl jsem to v mailing listu django-users.
Stalo se, že Django provedl nějaké optimalizace, zejména založené na PostgreSQL. V PostgreSQL stačí použít sloupce pk v klauzuli GROUP BY, ale to je pouze pro tabulky. (Pokud to uděláte, dotaz běží rychleji.) Nemůžete mít PK v pohledu v PostgreSQL, což je důvod, proč je to pro nás problém, protože používáme nespravované modely spojené s pohledy v backendu.
Reference:
- https://github.com/django/django/django205d9b30505239b3050572398>
- https://groups.google.com/ forum/#!topic/django-developers/lx3ZSq-W9X4
- https://groups.google.com/ d/msg/django-developers/lx3ZSq-W9X4/yh4I2CsoBwAJ
- https://code.djangoproject.com/ticket/28107