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 制作图片转pdf工具
Jan 30 Python
Python中类型关系和继承关系实例详解
May 25 Python
Python使用QQ邮箱发送Email的方法实例
Feb 09 Python
python实现自动发送邮件发送多人、群发、多附件的示例
Jan 23 Python
Django 表单模型选择框如何使用分组
May 16 Python
Flask框架中request、请求钩子、上下文用法分析
Jul 23 Python
python爬虫 猫眼电影和电影天堂数据csv和mysql存储过程解析
Sep 05 Python
Python 切分数组实例解析
Nov 07 Python
PyCharm汉化安装及永久激活详细教程(靠谱)
Jan 16 Python
python中Mako库实例用法
Dec 31 Python
Python对excel的基本操作方法
Feb 18 Python
Python爬取奶茶店数据分析哪家最好喝以及性价比
Sep 23 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备份数据库生成SQL文件并下载的函数代码
2012/02/05 PHP
thinkphp中空模板与空模块的用法实例
2014/11/26 PHP
Joomla开启SEF的方法
2016/05/04 PHP
wordpress网站转移到本地运行测试的方法
2017/03/15 PHP
PHP获取HTTP body内容的方法
2018/12/31 PHP
laravel-admin自动生成模块,及相关基础配置方法
2019/10/08 PHP
用ADODB.Stream转换
2007/01/22 Javascript
js控制的回到页面顶端goTop的代码实现
2013/03/20 Javascript
javascript实现获取cookie过期时间的变通方法
2014/08/14 Javascript
[将免费进行到底]在Amazon的一年免费服务器上安装Node.JS, NPM和OurJS博客
2014/08/18 Javascript
jquery mobile页面跳转后样式丢失js失效的解决方法
2014/09/06 Javascript
使用js实现数据格式化
2014/12/03 Javascript
原生js实现移动端瀑布流式代码示例
2015/12/18 Javascript
JS实现的幻灯片切换显示效果
2016/09/07 Javascript
node+express制作爬虫教程
2016/11/11 Javascript
纯JS代码实现隔行变色鼠标移入高亮
2016/11/23 Javascript
vue2.0 自定义日期时间过滤器
2017/06/07 Javascript
React-Native中禁用Navigator手势返回的示例代码
2017/09/09 Javascript
ES6学习教程之对象字面量详解
2017/10/09 Javascript
jQuery 淡入/淡出效果函数用法分析
2020/05/19 jQuery
将Python文件打包成.EXE可执行文件的方法
2019/08/11 Python
Pycharm 字体大小调整设置的方法实现
2019/09/27 Python
scrapy-redis分布式爬虫的搭建过程(理论篇)
2020/09/29 Python
Django Model层F,Q对象和聚合函数原理解析
2020/11/12 Python
scrapy-splash简单使用详解
2021/02/21 Python
美国社交购物市场:MassGenie
2019/02/18 全球购物
Oracle快照(snapshot)
2015/03/13 面试题
公务员职业生涯规划书范文  
2014/01/19 职场文书
高中生的自我评价
2014/03/04 职场文书
白酒代理协议书范本
2014/10/26 职场文书
创业计划书之淘宝网店
2019/10/08 职场文书
mysql优化
2021/04/06 MySQL
MySQL慢查询的坑
2021/04/28 MySQL
使用vue-element-admin框架从后端动态获取菜单功能的实现
2021/04/29 Vue.js
Python 游戏大作炫酷机甲闯关游戏爆肝数千行代码实现案例进阶
2021/10/16 Python
css3属性选择器 “~”(波浪号) “,”(逗号) “+”(加号)和 “>”(大于号)
2022/04/19 HTML / CSS