多对多的关系,三种写法
1.手动创建第三张表(不创建关联关系)
1 | class Book(models.Model): |
2.自动创建第三张表
注意:
- related_name 关联对象反向引用描述符 - 通过book可以引用到Book表中对象
- 只需要操作两个表在models内
- 以为未在models内操作第三张表,所以后期对第三张表的操作无法添加字段(可以通过服务器,但是不推荐)
1 | from django.db import models |
models
1 | from app03 import models as m3 |
方式三、半自动创建第三张表 – 手动创建第三张表+ManyToMany建立关系(推荐使用)
注意:
- through(‘A2B表名’) :指定手动创建的中间关系表(A2B)
- through_fields(‘A2B表内当前表关系字段’,’A2B表内关系表的字段’):中介模型
- 三张表都建立了内部联系,可以使用双下划綫和基于对象的正方形查询方式
1 | from django.db import models |
models
1 | from app02 import models as mo2 |
1 | class Book(models.Model): |