Django GROUP BY без агрегации
Я хотел бы написать следующий запрос в Postgresql, используя Django ORM:
SELECT t.id, t.field1 FROM mytable t JOIN ... JOIN ... WHERE .... GROUP BY id
Обратите внимание, что в части SELECT нет агрегатных функций (таких как SUM, COUNT и т.д.). Кстати, это совершенно законный SQL для GROUP BY primary key только в Postgresql.
Как написать его в Django ORM?
Я видел обходные пути, такие как добавление .annotate(dummy=Count('*'))
в набор запросов (но это замедляет выполнение) или введение фиктивной пользовательской агрегатной функции (но это грязный хак). Как сделать это чистым способом?