Ich programmiere eine Webseite um ein Sportevent zu organisieren. An diesem werden verschiede Sportarten mit verschiedener Anzahlen an möglichen Spielern angeboten. Auf der Webseite soll man dann später selber ein Team erstellen usw. können, und sie auch organisieren.
Soll ich die die Variable für die möglichen Anzahl der Spieler eines Team-models:
Code: Alles auswählen
class Team(models.Model):
name = models.CharField(max_length=15)
spiel = models.ManyToManyField(Spiel, blank=True) # Relation zu einem Spiel-model, was Spieldaten usw. enthält
profile = models.ManyToManyField(Profile) # User-relation
def __str__(self):
return self.name
Code: Alles auswählen
spieler_anzahl = models.IntegerField()
Code: Alles auswählen
class ETRTeam(Team):
member_max = MAX_TEAM_MEMBERS_ETR
class meta:
verbose_name = 'Escape the Room Team'
verbose_name_plural = 'Escape the Room Teams'
class STLTeam(Team):
member_max = MAX_TEAM_MEMBERS_STL
class meta:
verbose_name = 'Staffellauf Team'
verbose_name_plural = 'Staffellauf Team'
Das schöne daran ist, dass die Admin page für alle Teamarten ein Unterfeld hat.
Das Blöde ist, dass ich nicht genau weiß, wie ich dann querrys für nur eine Teamart laufen lassen soll, da die Profil(User)-instanzen nur ein field (user.profile.team_set) für alle Teamarten haben.
Code: Alles auswählen
user.profile.team_set.all().filter(class = ETRTeam)
Also ich könnte wahrscheinlich eigene Lookups schreiben, oder die Objekte des Querysets mit "isinstance()" nochmal filtern, aber das fühlt sich nicht richtig an, und ich glaube, dass mein Model-entwurf falsch ist. Deswegen dieses Forum.
Gibt es eine Seite, auf der man den Weg zu programmieren, den sich die Django developper vorgstellt haben, sehen kann ?
Vielen Dank für alle Denkanstöße und Hilfe :3