如何在Django中包含相关列而不包括所有列

2024-04-26 20:22:32 发布

您现在位置:Python中文网/ 问答频道 /正文

Django的ORM有一个名为^{}的方法来连接相关的表。在

但是,如果包含的字段是另一个模型的外键,默认行为似乎是包含相关模型中的所有列。在

例如,如果我有模型:

class A(models.Model):
    field1 = models.CharField(...)
    field2 = models.CharField(...)

class B(models.Model):
    field1 = models.CharField(...)
    field2 = models.ForeignKey(A)

print str(B.objects.all().select_related('field2').query))

输出:

^{pr2}$

但我只想包括A.field1,而不是{}中的所有字段,所以我尝试了:

print str(B.objects.all().select_related('b__field1').query))

但这会输出完全相同的查询。在

如何阻止Django包含select_related()中列出的外键字段中的所有字段?在


Tags: django模型modelobjectsmodelsallselect外键