如何在django中创建用户模型团队

时间:2016-12-01 02:54:09

标签: django django-models

我正在尝试在Django中实现团队模型。

我想要的是什么:

  • 用户可以是多个团队的成员
  • 团队可以拥有多个用户
  • 可以将团队成员分配到多个类别
  • 可以为多个团队成员分配类别

我以为我可以这样做:

class System(models.Model):
    name = models.CharField(max_length = 20)

    #User can own multiple systems
    owner = models.ForeignKey(User) 
    description = models.TextField(max_length = 250)


class Team(models.Model):
    """
    Represents a team
    """
    #Each system can have only one team, possibility of changing in the future
    system = models.OneToOneField(System)
    ...
    ...


class TeamMember(models.Model):
    """
    Bounds user to team
    """
    user = models.OneToOneField(User, null=True)
    #Teams can have multiple team members, team member can be in multiple teams
    team = models.ManyToManyField(Team)
    category = models.ManyToManyField(Category)


class Category(models.Model):
    name = models.CharField(max_length = 30)

但是我思考的时间越长,如果可以这样做就越关注我。

我无法想象我将如何执行以下查询:获取团队的所有成员,获取用户所属的所有团队,获取分配给用户的类别,获得分配给类别的用户。

此外,我不知道我的代码中是否存在某种错误(思考)。

我知道可能有一些预先解决的问题,但我真的很想自己做这件事。

0 个答案:

没有答案