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('*')) в набор запросов (но это замедляет выполнение) или введение фиктивной пользовательской агрегатной функции (но это грязный хак). Как сделать это чистым способом?

Вернуться на верх