Mỗi khi tôi sử dụng Quản trị viên để liệt kê các mục nhập của một mô hình, Quản trị viên đếm các hàng trong bảng. Tệ hơn nữa, có vẻ như đang làm như vậy ngay cả khi bạn lọc truy vấn của mình.Ngăn chặn quản trị viên django chạy SELECT COUNT (*) trên biểu mẫu danh sách
Ví dụ nếu tôi muốn chỉ hiển thị các mô hình có id là 123, 456, 789 tôi có thể làm:
/admin/myapp/mymodel/?id__in=123,456,789
Nhưng các truy vấn chạy (trong số những người khác) là:
SELECT COUNT(*) FROM `myapp_mymodel` WHERE `myapp_mymodel`.`id` IN (123, 456, 789) # okay
SELECT COUNT(*) FROM `myapp_mymodel` # why???
Mà là giết chết mysql + innodb. Có vẻ như vấn đề được thừa nhận một phần là in this ticket, nhưng vấn đề của tôi có vẻ cụ thể hơn vì nó đếm tất cả các hàng ngay cả khi nó không được yêu cầu.
Có cách nào để vô hiệu hóa các hàng toàn cầu đó không?
Lưu ý: Tôi đang sử dụng django 1.2.7.
Khi bạn lọc nó sẽ hiển thị ví dụ "21 kết quả (tổng số 3011)", do đó, 'count (*)' là bắt buộc để hiển thị tổng số. Để tắt nó đi, tôi nghĩ rằng bạn sẽ phải làm rất nhiều hack ứng dụng quản trị django. – Alasdair
Bây giờ tôi thấy, cảm ơn. Tôi đoán chúng tôi sẽ phải chờ đợi cho vé đó đi qua, sau đó. – Nova
'Lưu ý: Tôi đang sử dụng django 1.2.7.' - xem xét nâng cấp. –