PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Django com Postgresql, coluna deve aparecer na cláusula GROUP BY ou ser usada em uma função agregada


Este é um bug conhecido no Django>=1.8 e Django <2.0. Foi corrigido no Django 2.0. Eu tive o mesmo problema e o trouxe para a lista de discussão django-users.

O que aconteceu é que o Django realizou algumas otimizações, principalmente baseadas no PostgreSQL. No PostgreSQL, você só precisa usar as colunas pk na cláusula GROUP BY, mas isso é apenas para tabelas. (A consulta é executada mais rapidamente se você fizer isso.) Você não pode ter um PK em uma visualização no PostgreSQL, por isso é um problema para nós, pois estamos usando modelos não gerenciados acoplados a visualizações no backend.

Referências: