Django模型中,比较难以理解的要数表和表之间相关联的部分,下面主要说说外键-ForeignKey和ManyToManyField2个字段类型。
我们知道ForeignKey说的是“一对多”,那么问题就来了,哪个表是一?哪个是多呢?
这里被关联的表我们叫做B表,主动关联其他表的叫做A表,那么A是多,B是一。
怎么理解呢?我们这样想,B表的一行固定时,可以对应A表的多行;
反之,A表的一行被固定时,对应的B表中的一行。
总结:一个被关联的对象被确定时(B表的某一行),对应着多个关联对象(A表中的多行),这样的情况,对关联者来说就需要使用到外键-ForeignKey。
另一个就是ManyToManyField,他是多对多类型,这个就好理解了,相互能够对应多个对象(多行),这样的情况,就得使用ManyToManyField字段了。