我不明白爲什麼我們必須使用ManyToManyField來聲明多對多關聯。爲此,我將創建另一個帶有兩個外鍵的表格,即句號! 下面是一個例子從DOC https://docs.djangoproject.com/en/dev/topics/db/models/#intermediary-manytomany:多對多協會
from django.db import models
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)
extraField = models.DateField()
我只想寫:
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=128)
class Group(models.Model):
name = models.CharField(max_length=128)
class Membership(models.Model):
person = models.ForeignKey(Person)
group = models.ForeignKey(Group)
extraField = models.DateField()
它是正確的嗎?有什麼不同?
我讓別人回答這個誰更有資格。很好的問題。 – jdero
正確的方法是使用'ManyToManyField'來完成它,因爲在你的情況下製作稱爲'Membership'的額外模型非常繁瑣。 –