2017-06-12 2 views
0

Sagen wir, ich habe eine Struktur-Anwendung, die wie folgt aussieht:Grenze ForeignKey Entscheidungen basierend auf einem anderen ForeginKey Feld

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

In der Vorlage ich Benutzer möchte in der Lage sein, um Gruppen zu erstellen (auf der Schulseite) und nur unter Managern zu wählen, die zur selben Schule gehören!

Irgendeine Idee?

Antwort

2

Wenn Sie eine Tabelle mit zwei Fremdschlüsseln und einem Namen haben, sollte es wahrscheinlich eine durchgehende Tabelle für die ManyToMany-Beziehung zwischen Shool und Manager sein.

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

Gibt es keine Möglichkeit, ForeignKey zu verwenden? – DjangoGuy

+0

In Ihrem Schema kann eine Gruppe auf eine Schule und einen Manager verweisen. Aber wie ich es verstehe, könnte es mehr als einen Magnaer pro Schule geben. – vZ10

+0

Was wäre, wenn es einen Manager pro Schule gäbe? Wie kann ich es tun? – DjangoGuy

Verwandte Themen