基于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
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
什么是gzip,人肉gzip?
2008-11-20 13:01:00
细化解析:SQL Server 2000 的各种版本
2009-02-05 15:41:00
Bootstrap实现圆角、圆形头像和响应式图片
2023-08-12 07:16:59
![](https://img.aspxhome.com/file/2023/2/56052_0s.jpg)
python自动统计zabbix系统监控覆盖率的示例代码
2023-11-14 08:23:03
带你深入了解Access数据库的4种安全方式
2008-11-28 14:34:00
selenium在scrapy中的使用代码
2021-11-24 09:34:16
![](https://img.aspxhome.com/file/2023/1/99141_0s.jpg)
aws 通过boto3 python脚本打pach的实现方法
2021-09-14 23:33:19
Oracle 下医嘱执行函数
2009-03-02 10:49:00
Python 剪绳子的多种思路实现(动态规划和贪心)
2021-07-03 18:43:41
Python实现统计给定字符串中重复模式最高子串功能示例
2023-07-22 23:42:44
Python使用pdb调试代码的技巧
2022-11-18 04:36:06
![](https://img.aspxhome.com/file/2023/5/95925_0s.jpg)
在Docker上开始部署Python应用的教程
2023-11-13 12:38:37
![](https://img.aspxhome.com/file/2023/7/124727_0s.png)
设计提升满意度
2010-05-16 15:00:00
![](https://img.aspxhome.com/file/UploadPic/20105/16/01-60s.jpg)
关于python通过新建环境安装tfx的问题
2022-06-28 19:47:21
![](https://img.aspxhome.com/file/2023/1/109641_0s.jpg)
详解Python如何优雅地解析命令行
2021-02-16 01:53:59
Python对象类型及其运算方法(详解)
2023-08-30 09:11:59
![](https://img.aspxhome.com/file/2023/1/84941_0s.png)
python 全角半角互换的实现示例
2021-02-03 20:30:52
python简单图片操作:打开\\显示\\保存图像方法介绍
2021-03-29 15:52:28
![](https://img.aspxhome.com/file/2023/7/103667_0s.jpg)
MySQL字符集查看方法
2010-12-14 15:14:00
详解Python常用标准库之os模块与shutil模块
2023-06-13 04:19:20
![](https://img.aspxhome.com/file/2023/5/93725_0s.png)