dem*_*mux 15 django django-models django-queryset
我正在尝试优化我的查询,但prefetch_related坚持加入表并选择所有字段,即使我只需要关系表中的id列表.
您可以忽略第4个查询.这与问题无关.
相关代码:
class Contact(models.Model):
...
Groups = models.ManyToManyField(ContactGroup, related_name='contacts')
...
queryset = Contact.objects.all().prefetch_related('Groups')
Run Code Online (Sandbox Code Playgroud)
Fre*_*Dug 23
Django 1.7添加了Prefetch对象,可以自定义预取时使用的查询集.在这种情况下,你需要这样的东西:
queryset = Contact.objects.all().prefetch_related(
Prefetch('Groups', queryset=Group.objects.all().only('id')))
Run Code Online (Sandbox Code Playgroud)