定义表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()
 

最新文章

  1. Struts2框架简介和示例
  2. svn1.6在centos6下的使用
  3. 用修改hosts的方式来屏蔽某些网站
  4. GIT本地配置和PUSH
  5. js判断是iOS还是Android
  6. ViewPager+tab+Fragment的滑动
  7. struts2 标签 --<<s:url >
  8. node操作MongoDB数据库之插入
  9. javascript笔记——cookie解析
  10. .NET/C# 类构造函数中this的用法 (转)
  11. gitlab 启动参考
  12. UVA - 10714 Ants
  13. 常用html标签的只读写法
  14. Even Parity uva11464 模拟
  15. hdu1009 FatMouse' Trade---贪心
  16. 【Uva 10269 马里奥与公主的归途】
  17. code-Behind 技术
  18. 20165231 2017-2018-2《Java程序设计》课程总结
  19. 如何在 PhpStorm 使用 Code Generation?
  20. 浅谈树状数组(为什么lowbit(x)=x&(-x)

热门文章

  1. QTP自动化测试
  2. 【爬虫】如何用python+selenium网页爬虫
  3. java单例设计模式总结及举例
  4. C++中的内部类
  5. edgedb 内部pg 数据存储的探索 (一)基本环境搭建
  6. Spring boot中自动编译配置
  7. MQTT研究之EMQ:【JAVA代码构建X509证书】
  8. fcn训练及预测tgs数据集
  9. PHP-不同Str 拼接方法性能对比 参考自https://www.cnblogs.com/xiaoerli520/p/9624309.html
  10. cmd常用命令总结