在Django中,能对使用`select_related()`查询的对象字段使用`defer()`吗?
在我的Django应用中,我想在一个QuerySet
上使用select_related()
来“跟踪”一个ForeignKey
字段,但我只需要访问“跟踪”模型实例中的几个字段。我可以用defer()
方法来处理我的“跟踪”字段吗?
比如,如果我有...
class BarModel(models.Model):
...
blah = models.TextField()
class FooModel(models.Model):
bar = models.ForeignKey(BarModel)
...
...而我正在执行FooModel.objects.all().select_related('bar')
,那么我该如何defer()
字段blah
呢?
谢谢。
1 个回答
15
使用Django的双下划线表示法,如这里所示。
FooModel.objects.all().select_related('bar').defer('bar__blah', ...)