基于django ManyToMany 使用的注意事项详解


Posted in Python onAugust 09, 2019

使用场景一:

如果在一张表中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查询即可

以上这篇基于django ManyToMany 使用的注意事项详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解Python中的__init__和__new__
Mar 12 Python
python每隔N秒运行指定函数的方法
Mar 16 Python
Python中生成器和yield语句的用法详解
Apr 17 Python
python实现数独算法实例
Jun 09 Python
详解Python的collections模块中的deque双端队列结构
Jul 07 Python
Python实现获取nginx服务器ip及流量统计信息功能示例
May 18 Python
python pygame实现挡板弹球游戏
Nov 25 Python
python接口自动化如何封装获取常量的类
Dec 24 Python
python如何实现word批量转HTML
Sep 30 Python
Python hashlib模块的使用示例
Oct 09 Python
python 用Matplotlib作图中有多个Y轴
Nov 28 Python
Python开发工具Pycharm的安装以及使用步骤总结
Jun 24 Python
Django在admin后台集成TinyMCE富文本编辑器的例子
Aug 09 #Python
python实现京东订单推送到测试环境,提供便利操作示例
Aug 09 #Python
利用ImageAI库只需几行python代码实现目标检测
Aug 09 #Python
python操作excel让工作自动化
Aug 09 #Python
python笔记_将循环内容在一行输出的方法
Aug 08 #Python
python中的列表与元组的使用
Aug 08 #Python
详解python中的数据类型和控制流
Aug 08 #Python
You might like
PHP新手上路(十一)
2006/10/09 PHP
PHP 加密/解密函数 dencrypt(动态密文,带压缩功能,支持中文)
2009/01/30 PHP
php的大小写敏感问题整理
2011/12/29 PHP
php遍历目录与文件夹的多种方法详解
2013/11/14 PHP
PHP动态页生成静态页的3种常用方法
2014/11/13 PHP
浅谈php冒泡排序
2014/12/30 PHP
PHP图像处理类库及演示分享
2015/05/17 PHP
Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法
2016/07/02 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
jquery 事件对象属性小结
2010/04/27 Javascript
浅析ajax请求json数据并用js解析(示例分析)
2013/07/13 Javascript
jquery提交form表单时禁止重复提交的方法
2014/02/13 Javascript
省市二级联动小案例讲解
2016/07/24 Javascript
使用json来定义函数,在里面可以定义多个函数的实现方法
2016/10/28 Javascript
5 种JavaScript编码规范
2018/01/30 Javascript
详解webpack打包后如何调试的方法步骤
2018/11/07 Javascript
详解JavaScript作用域 闭包
2020/07/29 Javascript
vue调用微信JSDK 扫一扫,相册等需要注意的事项
2021/01/03 Vue.js
用python实现的去除win下文本文件头部BOM的代码
2013/02/10 Python
Python中的对象,方法,类,实例,函数用法分析
2015/01/15 Python
python通过线程实现定时器timer的方法
2015/03/16 Python
Python正则表达式指南 推荐
2018/10/09 Python
Python实现的在特定目录下导入模块功能分析
2019/02/11 Python
Python Pickle 实现在同一个文件中序列化多个对象
2019/12/30 Python
Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释
2020/01/25 Python
Python tkinter 下拉日历控件代码
2020/03/04 Python
详解Selenium-webdriver绕开反爬虫机制的4种方法
2020/10/28 Python
python中uuid模块实例浅析
2020/12/29 Python
选购国际女性时装设计师品牌:IFCHIC(支持中文)
2018/04/12 全球购物
美国在线宠物商店:Chewy
2019/01/12 全球购物
HelloFresh奥地利:立即订购烹饪盒
2019/02/22 全球购物
测量实习生自我鉴定
2013/09/19 职场文书
市场营销管理毕业生自荐信
2014/03/03 职场文书
天气温馨提示语
2015/07/14 职场文书
污染环境建议书
2015/09/14 职场文书
装修安全责任协议书
2016/03/22 职场文书