基于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获取电脑硬件信息及状态的实现方法
Aug 29 Python
python中base64加密解密方法实例分析
May 16 Python
Python中特殊函数集锦
Jul 27 Python
详解Golang 与python中的字符串反转
Jul 21 Python
Linux CentOS7下安装python3 的方法
Jan 21 Python
Python 批量合并多个txt文件的实例讲解
May 08 Python
python 文件查找及内容匹配方法
Oct 25 Python
Python 利用pydub库操作音频文件的方法
Jan 09 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
Nov 27 Python
Python openpyxl模块原理及用法解析
Jan 19 Python
Python3使用xlrd、xlwt处理Excel方法数据
Feb 28 Python
python实现最短路径的实例方法
Jul 19 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实现把url转换迅雷thunder资源下载地址的方法
2014/11/07 PHP
PHP中的函数声明与使用详解
2017/05/27 PHP
Javascript 判断函数类型完美解决方案
2009/09/02 Javascript
跨浏览器开发经验总结(三)   警惕“IE依赖综合症”
2010/05/13 Javascript
jQuery层次选择器选择元素使用介绍
2013/04/18 Javascript
JS window对象的top、parent、opener含义介绍
2013/12/03 Javascript
跟我学习javascript的隐式强制转换
2015/11/16 Javascript
分享纯手写漂亮的表单验证
2015/11/19 Javascript
JQ选择器_选择同类元素的第N个子元素的实现方法
2016/09/08 Javascript
Vue.js鼠标悬浮更换图片功能
2017/05/17 Javascript
在iframe中使bootstrap的模态框在父页面弹出问题
2017/08/07 Javascript
原生JS控制多个滚动条同步跟随滚动效果
2017/12/22 Javascript
轻量级富文本编辑器wangEditor结合vue使用方法示例
2018/10/10 Javascript
layui 数据表格+分页+搜索+checkbox+缓存选中项数据的方法
2019/09/21 Javascript
laydate只显示时分 不显示秒的功能实现方法
2019/09/28 Javascript
[10:42]Team Liquid Vs Newbee
2018/06/07 DOTA
python连接远程ftp服务器并列出目录下文件的方法
2015/04/01 Python
python各种语言间时间的转化实现代码
2016/03/23 Python
python实现TF-IDF算法解析
2018/01/02 Python
python 请求服务器的实现代码(http请求和https请求)
2018/05/25 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/27 Python
树莓派3 搭建 django 服务器的实例
2019/08/29 Python
Vs Code中8个好用的python 扩展插件
2020/10/12 Python
pip 20.3 新版本发布!即将抛弃 Python 2.x(推荐)
2020/12/16 Python
Python tkinter之Bind(绑定事件)的使用示例
2021/02/05 Python
详解Html5微信支付爬坑之路
2018/07/24 HTML / CSS
豆腐の盛田屋官网:日本自然派的豆乳面膜、肥皂、化妆水、乳液等
2016/10/08 全球购物
宿舍保安职务说明书
2014/02/25 职场文书
项目建议书范文
2014/05/12 职场文书
禁止酒驾标语
2014/06/25 职场文书
社区扶贫帮困工作总结
2015/05/20 职场文书
入党积极分子党支部意见
2015/06/02 职场文书
导游词之吉林花园山
2019/10/17 职场文书
Windows11插耳机没反应怎么办? win11耳机没声音的多种解决办法
2021/11/21 数码科技
了解Kubernetes中的Service和Endpoint
2022/04/01 Servers
Python四款GUI图形界面库介绍
2022/06/05 Python