2016-06-09 12 views
0

Ich möchte eine Organisationsfunktion in Django 1.8 implementieren. - Organisation verfügt über mehrere Teams. - Jedes Team kann mehrere Teams darunter/darunter haben. Ich habe mit diesem Kern angefangen, aber ich weiß nicht, ob das die gute Möglichkeit ist, die Modellstruktur zu entwerfen.Baum Database Design in Django für Organisation Feature

class Organisation(models.Model): 
    name = models.CharField(max_length=64) 
    description = models.TextField(max_length=1024) 
    logo = models.ImageField() 


class Team(models.Model): 
    organisation = models.ForeignKey(Organisation) 
    name = models.CharField(max_length=64) 


class ParentTeam(models.Model) 
    parent_team = models.OneToOneField(Team, null=True, blank=True) 
    child_team = models.ManyToManyField(Team) 

Mache ich richtig oder sollte es einen anderen Weg zum Design geben? Danke,

+0

Wenn Sie Parent_team als Null haben = True blank = True was ist der Punkt, um es zu haben? Auf diese Weise können Sie eine ParentTeam-Instanz ohne parent_team und ein oder mehrere child_team erstellen. Ich glaube nicht, dass du das willst. –

+0

https://github.com/django-mptt/django-mptt – madzohan

Antwort

0

Sie können Club-Team und ParentTeam Modell in einem als

class Team(models.Model): 
    organisation = models.ForeignKey(Organisation) 
    name = models.CharField(max_length=64) 
    child_teams = models.ManyToManyField('self', blank=True, related_name='children') 

Sein etwas, würde ich mit ihm getan haben.

+0

Danke, es funktioniert für mich. –