博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Django数据库表的关联问题

Posted on 2017-08-13 16:19  开飞机的贝塔  阅读(1004)  评论(0编辑  收藏  举报

Django模型中,比较难以理解的要数表和表之间相关联的部分,下面主要说说外键-ForeignKey和ManyToManyField2个字段类型。

我们知道ForeignKey说的是“一对多”,那么问题就来了,哪个表是一?哪个是多呢?

这里被关联的表我们叫做B表,主动关联其他表的叫做A表,那么A是多,B是一。

怎么理解呢?我们这样想,B表的一行固定时,可以对应A表的多行;

反之,A表的一行被固定时,对应的B表中的一行。

总结:一个被关联的对象被确定时(B表的某一行),对应着多个关联对象(A表中的多行),这样的情况,对关联者来说就需要使用到外键-ForeignKey。

另一个就是ManyToManyField,他是多对多类型,这个就好理解了,相互能够对应多个对象(多行),这样的情况,就得使用ManyToManyField字段了。