sql >> Base de Datos >  >> RDS >> PostgreSQL

Django con Postgresql, la columna debe aparecer en la cláusula GROUP BY o usarse en una función agregada

Este es un error conocido en Django>=1.8 y Django <2.0. Se ha corregido en Django 2.0. Tuve el mismo problema y lo mencioné en la lista de correo de usuarios de django.

Lo que sucedió es que Django realizó algunas optimizaciones, especialmente basadas en PostgreSQL. En PostgreSQL, solo necesita usar las columnas pk en la cláusula GROUP BY, pero eso es solo para tablas. (La consulta se ejecuta más rápido si hace eso). No puede tener un PK en una vista en PostgreSQL, por lo que es un problema para nosotros, ya que estamos usando modelos no administrados junto con vistas en el backend.

Referencias: