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 相关文章推荐
Python文件和流(实例讲解)
Sep 12 Python
Python字符串和字典相关操作的实例详解
Sep 23 Python
python web.py开发httpserver解决跨域问题实例解析
Feb 12 Python
Python基本socket通信控制操作示例
Jan 30 Python
在django项目中导出数据到excel文件并实现下载的功能
Mar 13 Python
解决Django提交表单报错:CSRF token missing or incorrect的问题
Mar 13 Python
Python无头爬虫下载文件的实现
Apr 02 Python
有趣的Python图片制作之如何用QQ好友头像拼接出里昂
Apr 22 Python
python实现单机五子棋
Aug 28 Python
Python日志器使用方法及原理解析
Sep 27 Python
Python reversed反转序列并生成可迭代对象
Oct 22 Python
Python Socket编程详解
Apr 25 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
微信公众平台开发实现2048游戏的方法
2015/04/15 PHP
PHP大文件分片上传的实现方法
2018/10/28 PHP
javascript之dhDataGrid Ver2.0.0代码
2007/07/01 Javascript
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
2008/11/06 Javascript
Jquery 快速构建可拖曳的购物车DragDrop
2009/11/30 Javascript
javascript object array方法使用详解
2012/12/03 Javascript
JavaScript时间转换处理函数
2015/04/14 Javascript
smartcrop.js智能图片裁剪库
2015/10/14 Javascript
简单封装js的dom查询实例代码
2016/07/08 Javascript
微信小程序 缓存(本地缓存、异步缓存、同步缓存)详解
2017/01/17 Javascript
详解使用Vue Router导航钩子与Vuex来实现后退状态保存
2017/09/11 Javascript
基于js中document.cookie全面解析
2017/09/14 Javascript
Vue动画事件详解及过渡动画实例
2019/02/09 Javascript
微信小程序云开发(数据库)详解
2019/05/17 Javascript
微信小程序对图片进行canvas压缩的方法示例详解
2020/11/12 Javascript
python中的闭包用法实例详解
2015/05/05 Python
用Python操作字符串之rindex()方法的使用
2015/05/19 Python
读写json中文ASCII乱码问题的解决方法
2016/11/05 Python
Python基于Pymssql模块实现连接SQL Server数据库的方法详解
2017/07/20 Python
浅谈python中的占位符
2017/11/09 Python
Python cookbook(数据结构与算法)将序列分解为单独变量的方法
2018/02/13 Python
python2.7安装图文教程
2018/03/13 Python
python 划分数据集为训练集和测试集的方法
2018/12/11 Python
详解Python字符串切片
2019/05/20 Python
Python 串口读写的实现方法
2019/06/12 Python
Pycharm中安装Pygal并使用Pygal模拟掷骰子(推荐)
2020/04/08 Python
HTML5新增的标签和属性归纳总结
2018/05/02 HTML / CSS
自荐信要包含哪些内容
2013/11/06 职场文书
六十大寿答谢词
2014/01/12 职场文书
信息技术专业大学生职业生涯规划书
2014/01/24 职场文书
学生周末回家住宿长期请假条
2014/02/15 职场文书
环保倡议书格式范文
2014/05/14 职场文书
外贸业务员求职信
2014/06/16 职场文书
三方协议书
2015/01/27 职场文书
公司文体活动总结
2015/05/07 职场文书
Mysql 8.x 创建用户以及授予权限的操作记录
2022/04/18 MySQL