【发布时间】:2016-11-28 23:48:15
【问题描述】:
可以找到最接近我所要求的内容 here
假设我有以下模型:
class Division(models.Model):
name = models.TextField()
state = models.IntegerField()
class Team(models.Model):
name2 = models.TextField()
division = models.ForeignKey(Division, ...)
class Player(models.Model):
name = models.TextField()
hometown = models.IntegerField()
team = models.ForeignKey(Team, ...)
现在我已经可以为一张表执行以下操作了:
players = Player.objects.prefetch_related('team')
如何将state 添加到查询集中?我的最终目标是能够在模板内执行player.team.division.state。另一种选择是使用嵌套的 for 循环,但我想避免这种情况。
【问题讨论】:
-
您的示例模型很难理解,因为它们的名称和字段非常相似。从另一个模型到
model3没有外键/多对多字段,所以这里没有理由使用prefetch_related。一个简单的select_related就可以了。 -
@Alasdair 请看看我的编辑
标签: python django django-templates django-views django-queryset