基于django ManyToMany 使用的注意事项详解
作者:qq_34159185 时间:2022-10-16 00:29:33
使用场景一:
如果在一张表中ManayTOManay字段关联的是自身,也就是出项这样的代码:
ManyToManyField(self)
那么,你需要注意一点,当你采用add方法将一个自身对象添加到该字段时,则自动建立两方的相互关联。
例如:
有一个朋友关系的字段,多对多关联到自身,
friends = models.ManyToManyField('self')
当你采用friends .add()添加对象时,则自动建立双方的关联。
为了禁止这件事情发生,需要添加一个symmetrical参数并设置为False,参考如下:
models.ManyToManyField('self', blank=True, symmetrical=False)
使用场景二:
如果在一张表中有多个ManayTOManay字段关联到相同的另一张表中,则另一张表在反向查询时则无法准确查找,为了解决这个问题,你需要在多对多字段添加一个参数related_name 并命名一个和其它多对多字段不同的名字,例如:
models.ManyToManyField('self', related_name='user_attentions')
参考如下:
有一张表名字叫A
有一张表名字叫B
A 有多个多对多字段关联到B,其中有一个字段related_name值为user_attentions,
当B进行反向查询时,则采用B.user_attentions查询即可
来源:https://blog.csdn.net/qq_34159185/article/details/78450749
标签:django,ManyToMany
0
投稿
猜你喜欢
Tornado Web Server框架编写简易Python服务器
2021-10-18 09:23:52
Scratch3.0二次开发之windows环境下打包成exe的流程
2022-12-31 03:27:34
python合并同类型excel表格的方法
2022-05-08 03:51:52
详解Python列表赋值复制深拷贝及5种浅拷贝
2022-07-16 16:22:41
Python+Pygame制作简易版2048小游戏
2022-12-01 18:05:03
Swift 3.0在集合类数据结构上的一些新变化总结
2023-10-19 02:35:47
python读取excel数据绘制简单曲线图的完整步骤记录
2022-04-27 10:52:18
基于Tensorflow的MNIST手写数字识别分类
2023-12-01 11:35:18
Python素数检测实例分析
2021-05-22 02:11:41
基于Python实现一个简单的银行转账操作
2023-05-29 16:39:26
Python读取HTML中的canvas并且以图片形式存入Word文档
2022-09-03 04:50:33
ASP程序代码执行时间统计类
2007-10-15 12:45:00
django之对FileField字段的upload_to的设定方法
2023-04-23 09:02:30
MySQL 5.5.x my.cnf参数配置优化详解
2024-01-27 02:12:48
oracle查看执行最慢与查询次数最多的sql语句
2024-01-21 05:12:11
链接的提示及打开方式
2008-07-29 13:09:00
matlab读取串口数据并显示曲线的实现示例
2022-12-17 15:56:17
pandas分批读取大数据集教程
2023-01-13 16:45:32
使用python实现微信小程序自动签到功能
2021-05-30 10:04:11
Python进阶学习之特殊方法实例详析
2022-03-03 22:15:04