0

関連する 2 つのモデルのどちらに M2M フィールドを持たせるかのロジックが見つかりません。これはDjangoチュートリアルの例です

class Person(models.Model):
    name = models.CharField(max_length=128)

class Group(models.Model):
    name = models.CharField(max_length=128)
    members = models.ManyToManyField(Person, through='Membership')

class Membership(models.Model):
    person = models.ForeignKey(Person)
    group = models.ForeignKey(Group)
    date_joined = models.DateField()
    invite_reason = models.CharField(max_length=64)

M2M フィールドを Group ではなく Person で定義すると、どのような違いが生じるでしょうか?

class Person(models.Model):
    name = models.CharField(max_length=128)
    groups = models.ManyToManyField(Person, through='Membership')

class Group(models.Model):
    name = models.CharField(max_length=128)

class Membership(models.Model):
    person = models.ForeignKey(Person)
    group = models.ForeignKey(Group)
    date_joined = models.DateField()
    invite_reason = models.CharField(max_length=64)
4

1 に答える 1