一、表与表关系
一对多
多对多
一对一
图书表
出版社
作者表
作者详情表
出版社 和 图书表 关系 一对多 外键字段在多的一方 book
图书表 和 作者表 关系 多对多 需要创建第三张表
作者表 和 作者详情表 关系 一对一
#创建表关系 先将基表创建 再添加外键字段
一对多
publisher = models.ForeignKey(to="Publisher")
#默认与主键关联
#定义foreignkey 不需要加"_id"
多对多
#多对多,orm自动创建表。
#外键字段在任意一方均可,推荐查询频率较高的一方。
#不需要"_id"class Author(models.Model):id = models.AutoField(primary_key=True)name = models.CharField(max_length=16, null=False, unique=True)# 告诉ORM 我这张表和book表是多对多的关联关系,ORM自动帮我生成了第三张表book = models.ManyToManyField(to="Book")
一对一
author_detail=models.OneToOneField(to='AuthorDetail')
#与多对多类似#不需要"_id"
二、字段补充
DataField
DataTimeField
auto_now:每次操作数据的时候,该字段会自动将当前时间更新
auto_now_add:创建数据的时候会自动将当前时间记录下来,之后只要人人为修改,那么一直不变