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

 更新时间:2019年08月09日 09:08:30   作者:qq_34159185  
今天小编就为大家分享一篇基于django ManyToMany 使用的注意事项详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

使用场景一:

如果在一张表中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访问纯真IP数据库脚本分享

    Python访问纯真IP数据库脚本分享

    这篇文章主要介绍了Python访问纯真IP数据库脚本分享,本文直接给出实现代码,需要的朋友可以参考下
    2015-06-06
  • python批量修改图片尺寸,并保存指定路径的实现方法

    python批量修改图片尺寸,并保存指定路径的实现方法

    今天小编就为大家分享一篇python批量修改图片尺寸,并保存指定路径的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • 解决Django一个表单对应多个按钮的问题

    解决Django一个表单对应多个按钮的问题

    今天小编就为大家分享一篇解决Django一个表单对应多个按钮的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • bpython 功能强大的Python shell

    bpython 功能强大的Python shell

    bpython是一个不错的Python解释器的界面,本文带着大家了解认识一下bpython,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • 解决Python使用列表副本的问题

    解决Python使用列表副本的问题

    今天小编就为大家分享一篇解决Python使用列表副本的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python实现的建造者模式示例

    Python实现的建造者模式示例

    这篇文章主要介绍了Python实现的建造者模式,结合完整实例形式分析了构造者模式的具体定义与相关使用操作技巧,需要的朋友可以参考下
    2018-08-08
  • Python处理缺失值的8种不同方法实例

    Python处理缺失值的8种不同方法实例

    缺失值是指粗糙数据中由于缺少信息而造成的数据的聚类、分组、删失或截断,下面这篇文章主要给大家介绍了关于Python处理缺失值的8种不同方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • Flask sqlalchemy一对多与多对一与一对一及多对多关系介绍

    Flask sqlalchemy一对多与多对一与一对一及多对多关系介绍

    这篇文章主要介绍了Flask sqlalchemy一对多与多对一与一对一及多对多关系介绍,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-09-09
  • Python Django切换MySQL数据库实例详解

    Python Django切换MySQL数据库实例详解

    这篇文章主要介绍了Python Django切换MySQL数据库实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • PyTorch模型容器与AlexNet构建示例详解

    PyTorch模型容器与AlexNet构建示例详解

    这篇文章主要为大家介绍了PyTorch模型容器与AlexNet构建示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07

最新评论