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的Django REST框架中的序列化及请求和返回
Apr 11 Python
python利用拉链法实现字典方法示例
Mar 25 Python
Django Admin实现三级联动的示例代码(省市区)
Jun 22 Python
python 地图经纬度转换、纠偏的实例代码
Aug 06 Python
PythonWeb项目Django部署在Ubuntu18.04腾讯云主机上
Apr 01 Python
HTML的form表单和django的form表单
Jul 25 Python
np.dot()函数的用法详解
Jan 17 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
Feb 27 Python
什么是python的id函数
Jun 11 Python
Pytorch 使用CNN图像分类的实现
Jun 16 Python
Python实现批量自动整理文件
Mar 16 Python
Python获取字典中某个key的value
Apr 13 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
pw的一个放后门的方法分析
2007/10/08 PHP
php读取xml实例代码
2010/01/28 PHP
浅谈PHP的$_SERVER[SERVER_NAME]
2017/02/04 PHP
php lcg_value与mt_rand生成0~1随机小数的效果对比分析
2017/04/05 PHP
php获取用户真实IP和防刷机制的实例代码
2018/11/28 PHP
javascript 对象比较实现代码
2009/04/27 Javascript
javascript之AJAX框架使用说明
2010/04/24 Javascript
javascript 伪数组实现方法
2010/10/11 Javascript
利用百度地图JSAPI生成h7n9禽流感分布图实现代码
2013/04/15 Javascript
jQuery拖动图片删除示例
2013/05/10 Javascript
eclipse导入jquery包后报错的解决方法
2014/02/17 Javascript
使用cluster 将自己的Node服务器扩展为多线程服务器
2014/11/10 Javascript
浅析javascript 定时器
2014/12/23 Javascript
js获取html的span标签的值方法(超简单)
2016/07/26 Javascript
javascript基础知识之html5轮播图实例讲解(44)
2017/02/17 Javascript
解决easyui日期时间框ie的兼容的问题
2018/03/01 Javascript
Vue中"This dependency was not found"问题的解决方法
2018/06/19 Javascript
微信小程序tabBar 返回tabBar不刷新页面
2019/07/25 Javascript
layer.alert回调函数执行关闭弹窗的实例
2019/09/11 Javascript
js实现自定义右键菜单
2020/05/18 Javascript
[37:35]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第二局
2016/02/25 DOTA
Python爬虫框架Scrapy安装使用步骤
2014/04/01 Python
Python利用ElementTree模块处理XML的方法详解
2017/08/31 Python
python编写暴力破解zip文档程序的实例讲解
2018/04/24 Python
Python中的 is 和 == 以及字符串驻留机制详解
2019/06/28 Python
Django 模型类(models.py)的定义详解
2019/07/19 Python
Python高阶函数、常用内置函数用法实例分析
2019/12/26 Python
Bench加拿大官方网站:英国城市服装品牌
2017/11/03 全球购物
摩托车和ATV零件、配件和服装的首选在线零售商:MotoSport
2017/12/22 全球购物
西班牙在线光学:Visual-Click
2020/06/22 全球购物
Electric官网:美国高级眼镜和配件品牌
2020/06/04 全球购物
大学校务公开实施方案
2014/03/31 职场文书
工程学毕业生自荐信
2014/06/14 职场文书
会员卡清退活动总结
2014/08/27 职场文书
2015年个人工作总结报告
2015/04/25 职场文书
《宝可梦》动画制作25周年到来 官方发布特别纪念视频
2022/04/01 日漫