限制ForeignKey选择基于另一个ForeginKey字段

时间:2017-06-12 13:16:51

标签: django django-forms foreign-keys limit-choices-to

假设我的应用程序结构如下所示:

** models.py **

Class School(models.Model):
    name = models.CharField(max_length=500)


Class Manager(models.Model)
    name = models.Charfield(max_length=500)
    school = models.ForignKey(School)


Class Group(models.Model)
    name = models.Charfield(max_length=500)
    school = models.ForeignKey(School)
    manager = models.ForeignKey(Manager, related_name="group_manager")

在模板中,我希望用户能够创建群组(在学校页面中),并选择仅属于同一所学校的经理!

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

如果你有一个包含2个外键和一个名字的表,它可能应该是Shool和Manager之间的ManyToMany关系的直通表。

Class School(models.Model):
    name = models.CharField(max_length=500)
    managers = models.ManyToMany(Manager, through='Group')