Django生成数据库及添加用户报错解决方案


Posted in Python onOctober 09, 2020

Django生成数据库表时报错 __init__() missing 1 required positional argument: 'on_delete'

原因:

在django2.0后,定义外键和一对一关系的时候需要加上on_delete选项,此参数为了避免两个表里的数据不一致问题,不然会报错

例如:

owner=models.ForeignKey(UserProfile)--->报错

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就可以了。

在使用Django添加用户时出现报错:

 django.db.utils.IntegrityError: (1452, 'Cannot add or update a child row: a foreign key constraint fai
 ls (`cms`.`app01_book_author`, CONSTRAINT `app01_book_author_book_id_df0ca405_fk_app01_book_id` FOREIG
 N KEY (`book_id`) REFERENCES `app01_book` (`id`))')
 [31/Mar/2019 21:20:45] "GET /addbook/ HTTP/1.1" 500 216210

解决办法,需要在setting.py文件的databases中取消外键检查:

1 DATABASES = {

DATABASES = {
   'default': {
     'ENGINE': 'django.db.backends.mysql',
     'NAME': 'cms', # 你的数据库名称
     'USER': 'root', # 你的数据库用户名
     'PASSWORD': '123456', # 你的数据库密码
     'HOST': '', # 你的数据库主机,留空默认为localhost
     'PORT': '3306', # 你的数据库端口
     'OPTIONS': {
       "init_command": "SET foreign_key_checks = 0;", # 取消外键检查
     }
   }
 }

问题解决!!!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
django+js+ajax实现刷新页面的方法
May 22 Python
对Python3中的print函数以及与python2的对比分析
May 02 Python
用python处理图片之打开\显示\保存图像的方法
May 04 Python
pandas DataFrame实现几列数据合并成为新的一列方法
Jun 08 Python
Python文件监听工具pyinotify与watchdog实例
Oct 15 Python
在python中将字符串转为json对象并取值的方法
Dec 31 Python
详解python websocket获取实时数据的几种常见链接方式
Jul 01 Python
如何使用python操作vmware
Jul 27 Python
Pycharm打开已有项目配置python环境的方法
Jul 03 Python
python中entry用法讲解
Dec 04 Python
如何用Python提取10000份log中的产品信息
Jan 14 Python
matplotlib更改窗口图标的方法示例
Feb 03 Python
pip已经安装好第三方库但pycharm中import时还是标红的解决方案
Oct 09 #Python
python实现数据结构中双向循环链表操作的示例
Oct 09 #Python
Python collections模块的使用方法
Oct 09 #Python
python爬取代理IP并进行有效的IP测试实现
Oct 09 #Python
Python中Selenium模块的使用详解
Oct 09 #Python
python利用platform模块获取系统信息
Oct 09 #Python
python smtplib发送多个email联系人的实现
Oct 09 #Python
You might like
PHP中foreach循环中使用引用要注意的地方
2011/01/02 PHP
PHP中time(),date(),mktime()区别介绍
2013/09/28 PHP
php使浏览器直接下载pdf文件的方法
2013/11/15 PHP
destoon二次开发入门示例
2014/06/20 PHP
PHP判断数组是否为空的常用方法(五种方法)
2017/02/08 PHP
js控制的回到页面顶端goTop的代码实现
2013/03/20 Javascript
浅析JQuery获取和设置Select选项的常用方法总结
2013/07/04 Javascript
Node.js实现批量去除BOM文件头
2014/12/20 Javascript
了不起的node.js读书笔记之mongodb数据库交互
2014/12/22 Javascript
jQuery中last()方法用法实例
2015/01/06 Javascript
png在IE6 下无法透明的解决方法汇总
2015/05/21 Javascript
jQuery EasyUI tree 使用拖拽时遇到的错误小结
2016/10/10 Javascript
微信小程序-详解数据缓存
2016/11/24 Javascript
jQuery实现的鼠标响应缓冲动画效果示例
2018/02/13 jQuery
Vue实现左右菜单联动实现代码
2018/08/12 Javascript
react-native滑动吸顶效果的实现过程
2019/06/03 Javascript
js实现GIF动图分解成多帧图片上传
2019/10/24 Javascript
微信小程序云开发获取文件夹下所有文件(推荐)
2019/11/14 Javascript
python每次处理固定个数的字符的方法总结
2013/01/29 Python
详解Python编程中time模块的使用
2015/11/20 Python
python 字典(dict)按键和值排序
2016/06/28 Python
快速查询Python文档方法分享
2017/12/27 Python
Python实现的KMeans聚类算法实例分析
2018/12/29 Python
python对矩阵进行转置的2种处理方法
2019/07/17 Python
在win64上使用bypy进行百度网盘文件上传功能
2020/01/02 Python
python opencv实现信用卡的数字识别
2020/01/12 Python
解决Alexnet训练模型在每个epoch中准确率和loss都会一升一降问题
2020/06/17 Python
详解python logging日志传输
2020/07/01 Python
ALDO美国官网:加拿大女鞋品牌
2018/12/28 全球购物
光荣入党自我鉴定
2014/01/22 职场文书
商务英语专业求职信范文
2014/01/28 职场文书
贯彻学习两会心得体会范文
2014/03/17 职场文书
小学生作文评语
2014/04/18 职场文书
岗位职责说明书模板
2014/07/30 职场文书
节约每一滴水演讲稿
2014/09/09 职场文书
英文邀请函
2015/02/02 职场文书