简单的多对多关系
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
和成员的关系,一个人可以是几个不同的 Club
s 的成员。
虽然我们只定义了两个模型,但 django 实际上为我们在数据库中创建了三个表。这些是 myapp_person
,myapp_club
和 myapp_club_members。Django 自动在 myapp_club_members(club_id,person_id)
列上创建一个唯一索引。