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网络爬虫项目:内容提取器的定义
Oct 25 Python
老生常谈python的私有公有属性(必看篇)
Jun 09 Python
python实现拓扑排序的基本教程
Mar 11 Python
Python数据预处理之数据规范化(归一化)示例
Jan 08 Python
python绘制规则网络图形实例
Dec 09 Python
python如何使用Redis构建分布式锁
Jan 16 Python
Python sklearn库实现PCA教程(以鸢尾花分类为例)
Feb 24 Python
Python读写操作csv和excle文件代码实例
Mar 16 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
Apr 08 Python
Python可以实现栈的结构吗
May 27 Python
浅谈Python类的单继承相关知识
May 12 Python
python中 Flask Web 表单的使用方法
May 20 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
雄兵连:天使彦天使彦为爱折翼,彦和炙心同时念动的誓言!
2020/03/02 国漫
php数组函数序列之krsort()- 对数组的元素键名进行降序排序,保持索引关系
2011/11/02 PHP
ParseInt函数参数设置介绍
2014/01/02 Javascript
js换图片效果可进行定时操作
2014/06/09 Javascript
jQuery不使用插件及swf实现无刷新文件上传
2014/12/08 Javascript
JavaScript制作windows经典扫雷小游戏
2015/03/31 Javascript
情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)
2015/08/21 Javascript
Bootstrap每天必学之导航
2015/11/26 Javascript
js判断手机系统是android还是ios
2017/03/07 Javascript
浅谈vue-router 路由传参的方法
2017/12/27 Javascript
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
2018/08/25 Javascript
vue双向绑定数据限制长度的方法
2019/11/04 Javascript
实现一个Vue自定义指令懒加载的方法示例
2020/06/04 Javascript
详解ES6中class的实现原理
2020/10/03 Javascript
解决新建一个vue项目过程中遇到的问题
2020/10/22 Javascript
在Vue中使用CSS3实现内容无缝滚动的示例代码
2020/11/27 Vue.js
[02:47]DOTA2英雄基础教程 野性怒吼兽王
2013/12/05 DOTA
[07:57]2018DOTA2国际邀请赛寻真——PSG.LGD凤凰浴火
2018/08/12 DOTA
Python __setattr__、 __getattr__、 __delattr__、__call__用法示例
2015/03/06 Python
pytz格式化北京时间多出6分钟问题的解决方法
2019/06/21 Python
Python使用正则表达式分割字符串的实现方法
2019/07/16 Python
python中前缀运算符 *和 **的用法示例详解
2020/05/28 Python
CSS3中31种选择器使用方法教程
2013/12/05 HTML / CSS
HTML5自定义视频播放器源码
2020/01/06 HTML / CSS
戴森美国官网:Dyson美国
2016/09/11 全球购物
大学自我鉴定
2013/12/20 职场文书
安全生产标语大全
2014/10/06 职场文书
会议欢迎词
2015/01/23 职场文书
毕业生捐书活动倡议书
2015/04/27 职场文书
新学期新寄语,献给新生们!
2019/11/15 职场文书
golang判断key是否在map中的代码
2021/04/24 Golang
tensorflow中的数据类型dtype用法说明
2021/05/26 Python
总结Python使用过程中的bug
2021/06/18 Python
Mybatis-plus在项目中的简单应用
2021/07/01 Java/Android
用Python实现屏幕截图详解
2022/01/22 Python
mysql sock 文件解析及作用讲解
2022/07/15 MySQL