2017-06-12 83 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