Django在根据models生成数据库表时报错: __init__() missing 1 required positional argument: 'on_delete'
2024-10-17 05:15:07
原因:
在django2.0后,定义外键和一对一关系的时候需要加on_delete选项,此参数为了避免两个表里的数据不一致问题,不然会报错:
TypeError: __init__() missing 1 required positional argument: 'on_delete'
举例说明:
user=models.OneToOneField(User)
owner=models.ForeignKey(UserProfile)
需要改成:
user=models.OneToOneField(User,on_delete=models.CASCADE) --在老版本这个参数(models.CASCADE)是默认值
owner=models.ForeignKey(UserProfile,on_delete=models.CASCADE) --在老版本这个参数(models.CASCADE)是默认值
参数说明:
on_delete有CASCADE、PROTECT、SET_NULL、SET_DEFAULT、SET()五个可选择的值
CASCADE:此值设置,是级联删除。
PROTECT:此值设置,是会报完整性错误。
SET_NULL:此值设置,会把外键设置为null,前提是允许为null。
SET_DEFAULT:此值设置,会把设置为外键的默认值。
SET():此值设置,会调用外面的值,可以是一个函数。
一般情况下使用CASCADE就可以了。
最新文章
- springMVC 返回类型选择 以及 SpringMVC中model,modelMap.request,session取值顺序
- 使用text存储hash类型的数据 Use text filed to store the hash map
- SPOJ BOXES
- PHP session回收机制
- NYOJ-58 最小步数 AC 分类: NYOJ 2014-01-22 22:01 217人阅读 评论(0) 收藏
- CentOS下支持exFAT与NTFS
- VC6配置OpenCV1.0
- [Jacky] Stoe load reload 区别
- [转+整理]LINUX学习笔记(1):磁盘结构及分区
- 解决SecureCRT中文版“数据库里没找到防火墙‘无’”的错误提示
- 保垒机SSH登录脚本
- 如何在jQuery中使用 setInterval,setTimeout
- My first_leetcode_Rever Ingeter 数字翻转java实现(办法集合)
- 闲聊cassandra
- FFMPEG列出DirectShow支持的设备
- android Titlebar一行代码实现沉浸式效果
- caffe程序中出现的db.cpp:#line(行号) unknown database backend问题
- 入侵检测中需要监控的注册表路径研究(Windows Registry Security Check)
- LiveCharts文档-4基本绘图-2基本柱形图
- Java SE之向上转型(动态绑定)与向下转型
热门文章
- [经验]怎么删除“通过QQ/TIM发送到”右键菜单
- Oracle之数组
- cryptoJS
- Vue之添加全局变量
- python 字符串替换、正则查找替换
- Petrozavodsk Winter Camp, Warsaw U, 2014, A The Carpet
- idea中xml打开方式变成file,代码变成灰色
- OLLVM特性、使用原理
- yml配置文件读取出错 Exception in thread ";main"; while scanning for the next token found character '\t(TAB)'
- 此博客不再更新和分享UiPath文章