ORM的对应关系

一、 ORM 一对一

1. 什么时候用一对一?
当 一张表的某一些字段查询的比较频繁,另外一些字段查询的不是特别频繁
把不怎么常用的字段 单独拿出来做成一张表 然后用过一对一关联起来

2. 优势
既保证数据都完整的保存下来,又能保证大部分的检索更快

3. ORM中的用法
OneToOneField(to="")

二、 ORM 多对多的三种方式

多对多的方式:

1. ORM自动帮我创建第三张表


2. 自己创建第三张表, 利用外键分别关联作者和书
关联查询比较麻烦,因为没办法使用ORM提供的便利方法

3. 自己创建第三张表,使用ORM 的ManyToManyFiled(to='', through='',through_fields=(‘本表关联字段’, ‘’))
使用此种方式创建多对多表的时候,没有 add() remove() 等方法

我们应该用哪种?

看情况:
1. 如果你第三张表没有额外的字段,就用第一种
2. 如果你第三张表有额外的字段,就用第三种或第一种


相亲网站:
Boy
girls = ManyToManyField(to=“Girl")

Girl

约会记录:多对多
id boy_id girl_id date

原文地址:https://www.cnblogs.com/Skeener/p/9879949.html