基于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 04 Python
关于python的bottle框架跨域请求报错问题的处理方法
Mar 19 Python
python中 chr unichr ord函数的实例详解
Aug 06 Python
Python探索之pLSA实现代码
Oct 25 Python
python3连接MySQL数据库实例详解
May 24 Python
python3.7实现云之讯、聚合短信平台的短信发送功能
Sep 26 Python
使用Python画出小人发射爱心的代码
Nov 23 Python
pytorch+lstm实现的pos示例
Jan 14 Python
Python BeautifulReport可视化报告代码实例
Apr 13 Python
Django --Xadmin 判断登录者身份实例
Jul 03 Python
python爬虫用scrapy获取影片的实例分析
Nov 23 Python
全网最详细的PyCharm+Anaconda的安装过程图解
Jan 25 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
php5 apache 2.2 webservice 创建与配置(java)
2011/01/27 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
2014/09/22 PHP
PHP中使用Session配合Javascript实现文件上传进度条功能
2014/10/15 PHP
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
2014/10/30 PHP
thinkphp5 URL和路由的功能详解与实例
2017/12/26 PHP
Laravel框架集合用法实例浅析
2020/05/14 PHP
javascript 学习笔记(onchange等)
2010/11/14 Javascript
JavaScript操作XML 使用百度RSS作为新闻源示例
2012/02/17 Javascript
extjs每个组件要设置唯一的ID否则会出错
2014/06/15 Javascript
深入浅析AngularJS中的module(模块)
2016/01/04 Javascript
AngularJS利用Controller完成URL跳转
2016/08/09 Javascript
分享JS数组求和与求最大值的方法
2016/08/11 Javascript
移动端效果之IndexList详解
2017/10/20 Javascript
vue实现某元素吸顶或固定位置显示(监听滚动事件)
2017/12/13 Javascript
Vue 使用 Mint UI 实现左滑删除效果CellSwipe
2018/04/27 Javascript
tracking.js实现前端人脸识别功能
2020/04/16 Javascript
微信小程序自定义modal弹窗组件的方法详解
2020/12/20 Javascript
python多重继承新算法C3介绍
2014/09/28 Python
python用Pygal如何生成漂亮的SVG图像详解
2017/02/10 Python
Python 中的range(),以及列表切片方法
2018/07/02 Python
python3的print()函数的用法图文讲解
2019/07/16 Python
python Django中models进行模糊查询的示例
2019/07/18 Python
python单向循环链表原理与实现方法示例
2019/12/03 Python
python 实现字符串下标的输出功能
2020/02/13 Python
Django用数据库表反向生成models类知识点详解
2020/03/25 Python
tensorflow 动态获取 BatchSzie 的大小实例
2020/06/30 Python
python怎么判断素数
2020/07/01 Python
美国豪华的多品牌精品店:The Webster
2019/07/31 全球购物
英国手工制作的现代与经典的沙发和床:Love Your Home
2020/09/26 全球购物
西安夏日科技有限公司Java笔试题
2013/01/11 面试题
本科毕业生自我鉴定
2013/11/02 职场文书
生日庆典策划方案
2014/06/02 职场文书
金融与证券专业求职信
2014/06/22 职场文书
民事调解协议书
2016/03/21 职场文书
《中国机长》观后感:敬畏生命,敬畏职责
2019/11/12 职场文书
Django分页器的用法你都了解吗
2021/05/26 Python