转自:https://blog.csdn.net/lanyang123456/article/details/68962515

问题:

定义表Apple:

class Apple( models.Model): origin_level = models.ForeignKey(AppleLevel) new_level = models.ForeignKey(AppleLevel)

出现如下问题:

monitor.apple: Accessor for field ‘origin_level’ clashes with related field ‘AppleLevel.apple_set’. Add a related_name argument to the definition for ‘origin_level’. 
monitor.apple: Accessor for field ‘new_level’ clashes with related field ‘AppleLevel.apple_set’. Add a related_name argument to the definition for ‘new_level’.

原因:

一个数据表同时两次外键引用另一个表,出现重名问题。

解决办法:

使用related_name属性定义名称(related_name是关联对象反向引用描述符)。 
具体修改代码如下:

class Apple( models.Model): origin_level = models.ForeignKey(AppleLevel, related_name='orgin_level_appleset') new_level = models.ForeignKey(AppleLevel, related_name='new_level_appleset')

related_name使用之后,有什么用处呢? 
用处就是: 
通过AppleLevel可以得到引用自身的Apple对象。

例如, 
通过origin_level引用AppleLevel 中id为12的Apple的所有对象

AppleLevel.object.get(id=12).origin_level_appleset.objects.all()

通过new_level引用AppleLevel 中id为12的Apple的所有对象

AppleLevel.object.get(id=12).new_level_appleset.objects.all()

转载于:https://www.cnblogs.com/eternal1025/p/9244099.html

Django model 反向引用中的related_name相关推荐

  1. Django model反向关联名称的方法(转)

    原文:https://www.jb51.net/article/152825.htm 转载于:https://www.cnblogs.com/olivertian/p/11150084.html

  2. Django Model设计详解

    Django Model 设计 Django Model设计是Django五项基础核心设计之一(Model设计,URL配置,View编写,Template设计,From使用),也是MVC模式中重要的环 ...

  3. 正则基础之——反向引用

    From: http://blog.csdn.net/lxcnn/article/details/4476746 1        概述 捕获组捕获到的内容,不仅可以在正则表达式外部通过程序进行引用, ...

  4. 正则表达式之反向引用

    1.概述 捕获组捕获到的内容,不仅可以在正则表达式外部通过程序进行引用,也可以在正则表达式内部进行引用,这种引用方式就是反向引用.要了解反向引用,首先要了解捕获组,关于捕获组,参考 正则基础之--捕获 ...

  5. django model filter 条件过滤,及多表连接查询、反向查询,某字段的distinct

    2019独角兽企业重金招聘Python工程师标准>>> 1.多表连接查询:当我知道这点的时候顿时觉得django太NX了.   class A(models.Model):      ...

  6. Django ORM查询之外键、关系的反向引用

    关系本身就是相互的,只用在一个表中记录,而不是在有关系的两个表中都记录.所以外键.关系提供反向引用机制.当然,外键可以是多个表的外键,关系也可以与多个表有关系,所以反向引用必须显式指出关系对方表(然后 ...

  7. python django model filter 条件过滤,及多表连接查询、反向查询,某字段的distinct[转]...

    1.多表连接查询:当我知道这点的时候顿时觉得django太NX了.   class A(models.Model):     name = models.CharField(u'名称')   clas ...

  8. backreference Oracle正則表達式中的反向引用

    这是Oracle对正則表達式的backreference的描写叙述 从定义中能够看到,当匹配表达式中已()的形式将一个子串包括起来.后面就能够以\? 的形式来引用.\1相应第一个(),\2相应第二个. ...

  9. Java正则表达式中的反向引用

    Java正则表达式中的反向引用是Java提供的另一个重要功能. 要了解反向引用 ,我们首先需要了解群组 . 正则表达式中的分组意味着将多个字符视为一个单元. 通过将要分组的字符放在一组括号" ...

  10. 【C#进阶二】C#中的正则表达式知识总结(字符转义/字符类/ 定位点/ 分组构造 /数量词/反向引用构造/替换构造/替代/正则表达式选项)(理论篇)

    文章目录 0. 正则表达式网站推荐 1.字符转义 2.字符类 3. 定位点 4. 分组构造 5.数量词 6.反向引用构造 7.替换构造 8.替代 9.正则表达式选项 正则表达式是对字符串操作的一种逻辑 ...

最新文章

  1. php设计模式 - 建造者模式
  2. python3作用域
  3. JAVA数据库编程(JDBC技术)-入门笔记
  4. app中传递java数据_Java实现app接口和Socket消息传递(6)servlet映射并返回Json数据
  5. BZOJ1922 SDOI2010 大陆争霸 最短路
  6. thinkpaidE480office安装文件夹
  7. 通用职责分配软件原则之5-控制器原则
  8. 【codevs3160】 LCS 【后缀自动机】
  9. pyTorch api
  10. libvpx在windows下的编译
  11. python怎么发音乐到朋友圈_只要三步,用Python轻松制作短视频,你也能在朋友圈傲娇一把!...
  12. 手机网站前端开发经验总结
  13. 音量放大器--软件实现
  14. 如何用小米玩华为游戏华为账号
  15. 不卡顿成用户购机第一要素,Mate 9深得人心
  16. matplotlib 柱状图画误差棒
  17. 按键精灵文字识别插件_【买三赠一】iOS按键精灵VIP夏季特惠进行中
  18. DEDE,DEDE网站搬家,DEDECMS搬家教程,一看就会!
  19. Node模块--chalk
  20. lotus - 深入理解时空证明的 golang 实现部分(PoSt)

热门文章

  1. ACM程序设计选修课——1024: 末位零(求末尾0的方法+可有可无的快速幂)
  2. 手机软件Toast无法显示提示信息
  3. c语言 int (*p)[5] 类型分析
  4. centos ssh配置使用
  5. 写JQuery插件的基本知识
  6. Linux 网络编程基础(一) ---------------客户端/服务器的简单实现
  7. 【BERT】如何提升BERT在下游任务中的性能
  8. 2021我的互联网秋招算法岗总结
  9. 研究生最忌讳的几点是什么?读研期间你该主动做什么?
  10. numpy—np.nan_to_num