问题
In my Django app I want to use select_related()
on a QuerySet
to "follow" a ForeignKey
field, but I only need to access a few of the fields on the "followed" model instance. Can I use the defer()
method somehow with my "followed" field.
e.g., if I have...
class BarModel(models.Model):
...
blah = models.TextField()
class FooModel(models.Model):
bar = models.ForeignKey(BarModel)
...
...and I'm doing FooModel.objects.all().select_related('bar')
how can I defer()
the field blah
.
Thanks.
回答1:
Using Django's double-underscore notation as shown here.
FooModel.objects.all().select_related('bar').defer('bar__blah', ...)
来源:https://stackoverflow.com/questions/5919031/in-django-can-i-defer-fields-in-an-object-thats-being-queried-by-select-r