sql >> Databasteknik >  >> RDS >> PostgreSQL

Django med Postgresql, kolumnen måste visas i GROUP BY-satsen eller användas i en aggregerad funktion

Detta är en känd bugg i Django>=1.8 och Django <2.0. Det har åtgärdats i Django 2.0. Jag hade samma problem och tog upp det i django-användarnas e-postlista.

Det som hände är att Django utförde en del optimeringar, speciellt baserat på PostgreSQL. I PostgreSQL behöver du bara använda pk-kolumnerna i GROUP BY-satsen, men det är bara för tabeller. (Frågan körs snabbare om du gör det.) Du kan inte ha en PK i en vy i PostgreSQL, vilket är anledningen till att det är ett problem för oss eftersom vi använder ohanterade modeller i kombination med vyer i backend.

Referenser:



  1. Multipel databaskonfiguration för Spring Data JPA 2.0.9 Release

  2. Ansluter till MySql med Java - SSL-anslutning

  3. Hantera roller och rollattribut i PostgreSQL

  4. Konvertera varje tecken i en sträng till en rad