简单的多对多关系

class Person(models.Model):
    name = models.CharField(max_length=50)
    description = models.TextField()

class Club(models.Model):
    name = models.CharField(max_length=50)
    members = models.ManyToManyField(Person)

在这里,我们定义了一个俱乐部有许多 Person 和成员的关系,一个人可以是几个不同的 Clubs 的成员。

虽然我们只定义了两个模型,但 django 实际上为我们在数据库中创建了三个表。这些是 myapp_personmyapp_club 和 myapp_club_members。Django 自动在 myapp_club_members(club_id,person_id) 列上创建一个唯一索引。