10
Tôi đang cố gắng tối ưu hóa truy vấn của mình nhưng prefetch_related khẳng định khi tham gia các bảng và chọn tất cả các trường ngay cả khi tôi chỉ cần danh sách các id từ bảng quan hệ.django prefetch_related id chỉ
Bạn có thể bỏ qua truy vấn thứ tư. Nó không liên quan đến câu hỏi.
Mã liên quan:
class Contact(models.Model):
...
Groups = models.ManyToManyField(ContactGroup, related_name='contacts')
...
queryset = Contact.objects.all().prefetch_related('Groups')
lol, được phát. Ở đây, có cookie của bạn. :) – demux
Trong Django 1,11 với Postgres, tôi cần phải chọn thêm khóa ngoài của đối tượng được tìm nạp trước - nếu không Django đã thực hiện tra cứu DB cho từng đối tượng được tìm nạp trước để chọn khóa ngoài (điều này tệ hơn là không tìm nạp trước). Trong ví dụ này, sửa đổi sẽ là: 'queryset = Group.objects.all(). Only ('id', 'contact_id'))' – erikreed
Rất buồn vì nó không hoạt động với các kiểu nội dung – valignatev