如何在 Django 中遍历多个外键?我已经尝试了 django 文档中我能想到的一切,但我显然错过了一些东西(极端新手)。我有科学家、实验和理论的模型。
如果我想研究一个特定的理论(我们称之为“相对论”)并获取研究该理论的科学家的所有电子邮件列表(保存在正常的 django 用户模型中),我该怎么做?
<小时/>class Experiment(models.Model)
experimenter = models.ForeignKey(Scientist)
theory = models.ForeignKey(Theory)
class Theory(models.Model)
name = models.CharField(max_length=100)
class Scientist(models.Model)
user = models.ForeignKey(User, unique=True)
institution = models.CharField(max_length=20, null=True, blank=True)
<小时/>
这些是我重写的模型的简化版本,因此其中可能存在一些错误,但关系是正确的。
我尝试了 select_related()、get()、filter() 的各种组合,但无法弄清楚。预先感谢您的帮助!
最佳答案
User.objects.filter(scientist__experiment__theory__name=u'relativity')
关于django - 在 Django 中通过外键进行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3365808/