基于django ManyToMany 使用的注意事项详解
2019-12-03 12:16
1741 查看
使用场景一:
如果在一张表中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 使用的注意事项详解就是小编分享给大家的全部内容了,希望能给大家一个参考
您可能感兴趣的文章:
相关文章推荐
- django ManyToMany 使用的注意事项
- 基于HBase Thrift接口的一些使用问题及相关注意事项的详解
- Django 多表关联 存储 使用方法详解 ManyToManyField save
- 基于HBase Thrift接口的一些使用问题及相关注意事项的详解
- 基于开发中使用UEditor编辑器的注意事项详解
- Django 多表关联 存储 使用方法 ManyToManyField save
- TO_DATE()函数:日期转换时使用RR格式的注意事项
- 《深入理解mybatis原理(三)》 MyBatis的一级缓存实现详解 及使用注意事项
- 《深入理解mybatis原理》 MyBatis的一级缓存实现详解 及使用注意事项
- 项目开发中的一些注意事项以及技巧总结 基于Repository模式设计项目架构—你可以参考的项目架构设计 Asp.Net Core中使用RSA加密 EF Core中的多对多映射如何实现? asp.net core下的如何给网站做安全设置 获取服务端https证书 Js异常捕获
- html to xml:Jtidy的使用及注意事项(jtidy-r938)
- 使用STRINGN_TO_NPVARIANT和STRINGZ_TO_NPVARIANT 注意的事项
- ListView嵌套GridView使用详解及注意事项
- 详解IIS Express的详细配置、使用和注意事项
- 详解Glide4.0集成及使用注意事项
- 详解新手使用vue-router传参时注意事项
- vue-router两种模式区别及使用注意事项详解
- django-11 db Many--to--Many 的使用讲解
- Linq to SQL Profiler使用注意事项——无限制的结果返回
- php引用(&)详解及注意事项 摘自:PHP引用(&)使用详解 官方文档: 1.引用是什么:http://www.php.net/manual/zh/language.references.