簡單的多對多關係

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) 列上建立一個唯一索引。