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()
中列出的外键字段中的所有字段?在
您可以使用
only()
,但之后必须包括B对象中所有需要的字段:相关问题 更多 >
编程相关推荐