使用select_related时,是否有人开发了一种过滤外键表中字段的方法。
例如给出这些模型:
class Author(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=40)
class AuthorExtra(models.Model):
author = models.ForeignKey(Author)
type = models.ForeignKey(ExtraType)
value = models.CharField(max_length = 24)
我想要一种方法来缓存特定类型的所有相关AuthorExtra对象。
答案 0 :(得分:7)
您无法使用select_related
执行此操作,因为它仅适用于一对一字段或ForeignKeys。对于像这样的反向关系,开发版本引入了prefetch_related
,这正是您正在寻找的。 p>
https://docs.djangoproject.com/en/dev/ref/models/querysets/#prefetch-related