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除法运算小技巧
Apr 05 Python
Django自定义manage命令实例代码
Feb 11 Python
Python引用计数操作示例
Aug 23 Python
解决django中ModelForm多表单组合的问题
Jul 18 Python
在Python中append以及extend返回None的例子
Jul 20 Python
关于阿里云oss获取sts凭证 app直传 python的实例
Aug 20 Python
基于python2.7实现图形密码生成器的实例代码
Nov 05 Python
python实现密码强度校验
Mar 18 Python
python seaborn heatmap可视化相关性矩阵实例
Jun 03 Python
Python爬虫过程解析之多线程获取小米应用商店数据
Nov 14 Python
termux中matplotlib无法显示中文问题的解决方法
Jan 11 Python
python re模块常见用法例举
Mar 01 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+MySQL5.0中文乱码解决方法
2006/11/20 PHP
PHP中使用cURL实现Get和Post请求的方法
2013/03/13 PHP
php使用session二维数组实例
2014/11/06 PHP
php下foreach提示Warning:Invalid argument supplied for foreach()的解决方法
2014/11/11 PHP
PHP自动生成表单代码分享
2015/06/19 PHP
Laravel5.* 打印出执行的sql语句的方法
2017/07/24 PHP
PHP实现抽奖功能实例代码
2020/06/30 PHP
PHP 实现base64编码文件上传出现问题详解
2020/09/01 PHP
使两个iframe的高度与内容自适应,且相等
2006/11/20 Javascript
javascript中获取下个月一号,是星期几
2012/06/01 Javascript
js实现图片在未加载完成前显示加载中字样
2014/09/03 Javascript
js实现鼠标悬浮给图片加边框的方法
2015/01/30 Javascript
js实现仿Discuz文本框弹出层效果
2015/08/13 Javascript
易被忽视的js事件问题总结
2016/05/14 Javascript
JS脚本实现动态给标签控件添加事件的方法
2016/06/02 Javascript
javascript中sort排序实例详解
2016/07/24 Javascript
Ubuntu 16.04 64位中搭建Node.js开发环境教程
2016/10/19 Javascript
浅谈js数组和splice的用法
2016/12/04 Javascript
Nodejs 获取时间加手机标识的32位标识实现代码
2017/03/07 NodeJs
微信小程序 云开发模糊查询实现解析
2019/09/02 Javascript
实例分析JS中的相等性判断===、 ==和Object.is()
2019/11/17 Javascript
把MySQL表结构映射为Python中的对象的教程
2015/04/07 Python
python使用paramiko实现远程拷贝文件的方法
2016/04/18 Python
Python中json格式数据的编码与解码方法详解
2016/07/01 Python
python rsync服务器之间文件夹同步脚本
2019/08/29 Python
python 3.6.7实现端口扫描器
2019/09/04 Python
CSS3实现鼠标悬停显示扩展内容
2016/08/24 HTML / CSS
警察思想汇报
2014/01/04 职场文书
社区党员志愿服务活动方案
2014/08/18 职场文书
党风廉政建设个人总结
2015/03/06 职场文书
2015年新教师个人工作总结
2015/10/14 职场文书
2016国庆促销广告语
2016/01/28 职场文书
详解Vue的sync修饰符
2021/05/15 Vue.js
Python趣味爬虫之用Python实现智慧校园一键评教
2021/05/28 Python
一次项目中Thinkphp绕过禁用函数的实战记录
2021/11/17 PHP
python字符串的一些常见实用操作
2022/04/06 Python