Đây là một lỗi đã biết trong Django> =1.8 và Django <2.0. Nó đã được sửa trong Django 2.0. Tôi đã gặp vấn đề tương tự và đã đưa nó lên danh sách gửi thư của người dùng django.
Điều đã xảy ra là Django đã thực hiện một số tối ưu hóa, đặc biệt là dựa trên PostgreSQL. Trong PostgreSQL, bạn chỉ cần sử dụng các cột pk trong mệnh đề GROUP BY, nhưng điều đó chỉ dành cho các bảng. (Truy vấn chạy nhanh hơn nếu bạn làm điều đó.) Bạn không thể có PK trong một chế độ xem trong PostgreSQL, đó là lý do tại sao nó là một vấn đề đối với chúng tôi vì chúng tôi đang sử dụng các mô hình không được quản lý cùng với các chế độ xem trong phần phụ trợ.
Tài liệu tham khảo:
- https://github.com/django/django/com70mit/daf2bd3efe53c83fbf2bd3efe53c915bf2bd3efe53c>
- https://groups.google.com/ forum / #! topic / django-Developers / lx3ZSq-W9X4
- https://groups.google.com/ d / msg / django-Developers / lx3ZSq-W9X4 / yh4I2CsoBwAJ
- https://code.djangoproject.com/ticket/28107