2017-06-12 62 views
0

比方说,我有一个应用程序的结构是这样的:限制ForeignKey的选择

** ** 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") 

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

有什么想法?

回答

2

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

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

是不是有办法使用ForeignKey做到这一点? – DjangoGuy

+0

在你的模式中,一个组可以引用一个School和一个Manger。但据我所知,每所学校可能会有多个Magnaer。 – vZ10

+0

如果每所学校会有一名经理,该怎么办?我该怎么做? – DjangoGuy