Django model 反向引用中的related_name
转自: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()
Django model 反向引用中的related_name的更多相关文章
- Django Model之引用一个未定义的Model
Django Model的外键自关联
- Django model反向关联名称的方法(转)
原文:https://www.jb51.net/article/152825.htm
- Django model总结(上)
Django model是django框架中处于比较核心的一个部位,准备分三个博客从不同的方面分别进行阐述,本文为<上篇>,主要对[a]Model的基本流程,比如它的创建,迁移等:默认行为 ...
- python django model filter 条件过滤,及多表连接查询、反向查询,某字段的distinct[转]
1.多表连接查询:当我知道这点的时候顿时觉得django太NX了. class A(models.Model): name = models.CharField(u'名称') clas ...
- django model filter 条件过滤,及多表连接查询、反向查询,某字段的distinct
1.多表连接查询:当我知道这点的时候顿时觉得django太NX了. class A(models.Model): name = models.CharField(u'名称') class B ...
- Django:model中的ForeignKey理解
有两个数据模型栏目模型和文章模型ArticleColumn和ArticlePost ArticleColumn: class ArticleColumn(models.Model): # 用户与栏目是 ...
- django中跨app引用model
可能是自己水平的原因,总感觉跨django中app引用有点怪怪的,所以在自己没有达到另一个级别之前就先把正确的解决 方案记一下吧. 一.django中跨app引用model,以app02中的model ...
- Django model中 双向关联问题,求帮助
Django model中 双向关联问题,求帮助 - 开源中国社区 Django model中 双向关联问题,求帮助
- Django model 中的 class Meta 详解
Django model 中的 class Meta 详解 通过一个内嵌类 "class Meta" 给你的 model 定义元数据, 类似下面这样: class Foo(mode ...
随机推荐
- js常用的正则表达操作
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Hadoop0.20.203.0在关机重启后,namenode启动报错(/dfs/name is in an inconsistent state)
Hadoop0.20.203.0在关机重启后,namenode启动报错: 2011-10-21 05:22:20,504 INFO org.apache.hadoop.hdfs.server.comm ...
- C项目实践--俄罗斯方块(2)
在VS中新建win32 Application Proj,选择Empty ,完成TetrisWin项目创建.新建tetris.c和tetris.h两个文件,打开tetris.h文件. 首先要包括的是可 ...
- session与cookie的理解
噶,nation同志又给我布置任务了~~是隔壁家老王提到多次的,session和cookie的运行机制问题~~于是我真的意识到一个问题,程序猿都是一个德行! 1. cookie概述 cookie 常用 ...
- W5500EVB UDP模式的測试与理解
之前的博文中已经介绍过W5500EVB 在TCP模式下的两种(Server及Client)传输数据的实现过程,那么传输控制协议中,UDP也是很经常使用的.这样的无连接的协议在很多其它场合为用户提供了便 ...
- 递归读取制定目录下所有文件夹和文件的实现(java)
public static String getAllDirectorisAndFiles(String path){ Map<String, Object> responseMap = ...
- Test redis
单机测试: public class RedisClient{ private Jedis jedis; private JedisPool jedisPool; private ShardedJed ...
- 使用C#开发HTTP服务器系列之访问主页
各位朋友大家好,我是秦元培,欢迎大家关注我的博客,我的博客地址是http://qinyuanpei.com.在这个系列文章的第一篇中,我们着重认识和了解了HTTP协议,并在此基础上实现了一个可交互的W ...
- xcode 8.1 (8B62)真机调试配置
1.点击菜单栏中的Xcode->Preferences->Accounts,如图: 点击上图左下角中的“+”号,登陆一个Apple id(前提已经有了一个apple id账号), 2.然后 ...
- 小程序-demo:天气预报
ylbtech-小程序-demo:天气预报 1.返回顶部 1.app.js //app.js App({ //系统事件 onLaunch: function () {//小程序初始化事件 var th ...