DRF接口访问报错,TypeError: Direct assignment to the reverse side of a related set is prohibited. Use parent_id.set() instead.

  • 示例
class Comment(models.Model):"""评论"""comment = models.CharField(max_length=20, verbose_name="评论内容")parent = models.ForeignKey("self", related_name="prent_id", null=True,on_delete=models.CASCADE, verbose_name="所评论的评论ID")class Meta:db_table = "tb_comment"verbose_name = "评论"verbose_name_plural = verbose_namedef __str__(self):return self.user_name
  • 当该模型类的序列化器被访问时会出现以下错误
TypeError: Direct assignment to the reverse side of a related set is prohibited. Use parent_id.set() instead.
  • 通常主键对象想要获取子对象集时
comments = comment.comment_set.all()
  • 在外键字段设置related_name="parent_id"时
coments = comment.parent_id.all()

因为外键字段名称也为parent_id,当外键对象反向引用调用comment.parent_id.all()时会与外键字段冲突。

  • 处理方法
修改外键字段名不能与它的related_name重名;
不设置related_name属性

TypeError: Direct assignment to the reverse side of a related set is prohibited. Use parent_id.set()相关推荐

  1. Django从1.8升级到2.0注意事项

    2019独角兽企业重金招聘Python工程师标准>>> 我公司从2015年开发自动化部署平台,当时选用的开发框架是Django1.8版本.这两年多来,基于其上,很好的满足了我们的开发 ...

  2. 创建零填充JavaScript数组的最有效方法?

    在JavaScript中创建任意长度的零填充数组的最有效方法是什么? #1楼 使用对象符号 var x = []; 零填充? 喜欢... var x = [0,0,0,0,0,0]; 充满" ...

  3. Airbnb JavaScript Style Guide

    转自: https://github.com/airbnb/javascript/blob/master/README.md Airbnb JavaScript Style Guide() { A m ...

  4. 狂神。JavaScript学习。

    1.什么是JavaScript 1.1.概述 javaScript是一门世界上最流行的脚本语言. Java,JavaScript 10天~ 一个合格的后端人员,必须精通JavaScript. 1.2. ...

  5. 英特尔虚拟化技术发展蓝图

     当前非常热门的Virtualization虚拟化技术的出现和应用其实已经有数十年的历史了,在早期,这个技术主要应用在服务器以及大型主机上面,现在,随着PC性能的不断增长,Virtualizati ...

  6. Java/C语言/C++/Python/PHP运算符优先级

    Java 运算符优先级 运算符 优先级 postfix expr++ expr-- unary ++expr --expr +expr -expr ~ ! multiplicative * / % a ...

  7. 3、Angular JS 学习笔记 – Controllers [翻译中]

    2019独角兽企业重金招聘Python工程师标准>>> 理解控制器 在Angular中,一个控制器是一个javascript构造函数用于填充Angular作用域. 当一个控制器通过使 ...

  8. 一文掌握 C 智能指针的使用

    RAII 与引用计数 了解 objective-C/Swift 的程序员应该知道引用计数的概念.引用计数这种计数是为了防止内存泄露而产生的. 基本想法是对于动态分配的对象,进行引用计数,每当增加一次对 ...

  9. 前端架构设计1:代码核心

    现在的前端领域, 随着JS框架, UI框架和各种库的丰富, 前端架构也变得十分的重要. 如果一个大型项目没有合理的前端架构设计, 那么前端代码可能因为不同的开发人员随意的引入各种库和UI框架, 导致代 ...

最新文章

  1. 数据可视化教程来了!
  2. Python游戏开发,Pygame模块,Python从零开始带大家实现魔塔小游戏
  3. android 应用之listview添加radiobutton,获取textView
  4. dev c++代码自动补全_让代码自动补全的全套流程
  5. 网站设计好怎么上传到服务器的,虚拟主机上传到网站的几个步骤
  6. STM32:GPIO的8种输入输出模式深入详解
  7. Mathcad绘制三维散点图
  8. VS2005中远程调试的配置方法
  9. 学校教学的计算机网络教室它的网络类型,用于学校教学的计算机网络教室,它的网络类型属于( )...
  10. 标准时间格式与时间戳的转化
  11. 量子计算机读后感,《天才的拓荒者:冯·诺伊曼传》- 读后感
  12. linux 自带的python软连接被误删恢复
  13. ssm人力资源考勤系统
  14. Typora崩溃 与 设置备份
  15. LEDs状态灯任务(线程)设计(基于RTOS)
  16. WORD公式居中、题注插入、交叉引用
  17. matlab中如何用数组绘图,matlab 基础学习(1)——数组,矩阵操作和绘图基础学习...
  18. 【2019春招】平安科技开发实习生面经
  19. Vue props用法详解
  20. 故障分析 | MongoDB 5.0 报错 Illegal instruction 解决

热门文章

  1. 郴州市少儿机器人编_郴州市举办中小学机器人竞赛
  2. 十大项目告诉你:室内定位将是重塑零售世界的下一场革命
  3. 个人博客搭建流程(域名、主机、解析、源码、搭建)全程详解
  4. YOLOv8/YOLOv7/YOLOv5系列算法改进【NO.6】增加小目标检测层,提高对小目标的检测效果
  5. 新的篇章:来自鲍尔默和艾洛普的公开信
  6. buddypress主题_WordPress的十大BuddyPress插件
  7. 转载一份诚恳的互联网找工作总结和感想(附:怎样花两年时间去面试一个人)
  8. 谷歌收购摩托罗拉移动---前途将何去何从
  9. 阿里面试官:高并发大流量秒杀系统如何正确的解决库存超卖问题?(建议收藏)
  10. 龙芯7A2000 CAN调试