我可以在反向关系中使用 select_related Django QuerySet 方法吗?
Can I use select_related Django QuerySet method in reverse relationships?
class A(Model):
pass
class B(Model):
a = ForeignKey(A)
B.objects.select_related("a") # this works
A.objects.select_related("b") # this doesn't
如何使第二行工作?有没有其他方法可以做同样的事情?
您需要使用 prefetch_related
,因为可能有多个 B
实例引用同一个 A
实例
A.objects.prefetch_related("b_set")
https://docs.djangoproject.com/en/4.0/ref/models/querysets/#prefetch-related
class A(Model):
pass
class B(Model):
a = ForeignKey(A)
B.objects.select_related("a") # this works
A.objects.select_related("b") # this doesn't
如何使第二行工作?有没有其他方法可以做同样的事情?
您需要使用 prefetch_related
,因为可能有多个 B
实例引用同一个 A
实例
A.objects.prefetch_related("b_set")
https://docs.djangoproject.com/en/4.0/ref/models/querysets/#prefetch-related