两个不同的应用之间的M2M

时间:2012-05-19 04:38:27

标签: mysql django django-models

我在不同的应用中有两种型号:

# Groups app
class Group(models.Model):
    name = models.CharField(max_length=256)
    abbreviation = models.CharField(max_length=32)
    admin = models.ManyToManyField('UserProfile')

# UserProfile app
class UserProfile(models.Model):
    user = models.OneToOneField(User)
    groups = models.ManyToManyField(Group)
换句话说,用户可以属于多个组(用户M2M到组),并且组也可以具有一个或多个管理员(组M2M到用户)。由于这个原因,我在这里做syncdb时遇到了麻烦。什么是最好的方式来这里?我应该1)将Groups合并到UserProfile应用中吗?或2)用户ALTER TABLE声明事后制作一条M2M链接?或者3)还有别的吗?

1 个答案:

答案 0 :(得分:1)

https://docs.djangoproject.com/en/dev/ref/models/fields/#foreignkey

class Group(models.Model):
    name = models.CharField(max_length=256)
    abbreviation = models.CharField(max_length=32)
    admin = models.ManyToManyField('userprofile.UserProfile')