如何在这里使用select_related优化查询?

问题描述 投票:0回答:1

我有

class A(models.Model):
    field_a = models.OneToOneField(B, on_delete=models.CASCADE)

class B(models.Model):
    field_b = models.charField()

如何在这里使用select_related或其他方法编写最佳查询?我的用例是获取模型A的field_a

queryset_b = B.objects.get(field_b="some name")
queryset_a = A.objects.get(b=queryset_b).field_a

它两次命中数据库。我可以使用select_related在一个数据库命中时执行此操作吗?

django django-models django-queryset django-orm django-select-related
1个回答
0
投票

您可以使用lookup that span relationship

a = A.objects.get(b=b__field_b="some name")

这将导致对数据库的单个查询

© www.soinside.com 2019 - 2024. All rights reserved.