sql >> Database teknologi >  >> RDS >> PostgreSQL

Django med Postgresql, kolonne skal vises i GROUP BY-klausulen eller bruges i en aggregeret funktion

Dette er en kendt fejl i Django>=1.8 og Django <2.0. Det er blevet rettet i Django 2.0. Jeg havde det samme problem og bragte det op i django-brugernes mailingliste.

Det der skete er, at Django udførte nogle optimeringer, især baseret på PostgreSQL. I PostgreSQL skal du kun bruge pk-kolonnerne i GROUP BY-sætningen, men det er kun til tabeller. (Forespørgslen kører hurtigere, hvis du gør det.) Du kan ikke have en PK i en visning i PostgreSQL, hvorfor det er et problem for os, da vi bruger ikke-administrerede modeller kombineret med visninger i backend.

Referencer:



  1. Mysqli vælg fra to tabeller

  2. Opret array til PDO fra variabler, der er sendt fra jquery

  3. PostgreSQL FEJL:annullerer erklæring på grund af konflikt med gendannelse

  4. Brug af URL-parametre i MYSQL-søgning