本文介绍了在Django中,可以通过`select_related()`查询的对象中'defer()'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的Django应用程序中,我想在 QuerySet 中使用 select_related()来跟随code> ForeignKey 字段,但我只需要访问follow模型实例上的一些字段。我可以用follow字段使用 defer()方法。



例如,如果我有。 ..

  class BarModel(models.Model):
...
blah = models.TextField ()

class FooModel(models.Model):
bar = models.ForeignKey(BarModel)
...
pre>

...我正在做 FooModel.objects.all()。select_related('bar')我如何 defer()字段 blah



谢谢。

解决方案

使用Django的双下划线符号,如。

  FooModel.objects.all()。select_related('bar')。defer('bar__blah',...)


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.

解决方案

Using Django's double-underscore notation as shown here.

FooModel.objects.all().select_related('bar').defer('bar__blah', ...)

这篇关于在Django中,可以通过`select_related()`查询的对象中'defer()'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-19 16:08