PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Django z Postgresql, kolumna musi pojawić się w klauzuli GROUP BY lub być używana w funkcji agregującej

Jest to znany błąd w Django>=1.8 i Django <2.0. Zostało to naprawione w Django 2.0. Miałem ten sam problem i zgłosiłem go na liście dyskusyjnej django-users.

Stało się tak, że Django przeprowadziło kilka optymalizacji, zwłaszcza w oparciu o PostgreSQL. W PostgreSQL wystarczy użyć kolumn pk w klauzuli GROUP BY, ale dotyczy to tylko tabel. (Jeśli to zrobisz, zapytanie działa szybciej.) Nie możesz mieć PK w widoku w PostgreSQL, dlatego jest to dla nas problem, ponieważ używamy modeli niezarządzanych połączonych z widokami w backendzie.

Referencje:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Heroku pg:psql wyłącza się

  2. Postgres naturalny porządek według

  3. PostgreSQL używający pg_trgm wolniej niż pełne skanowanie

  4. Jak utworzyć sekwencję, jeśli nie istnieje?

  5. Pobierz wersję PostGIS