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 21 Python
wxPython中listbox用法实例详解
Jun 01 Python
python 基础教程之Map使用方法
Jan 17 Python
python实现推箱子游戏
Mar 25 Python
python  文件的基本操作 菜中菜功能的实例代码
Jul 17 Python
Python中变量的输入输出实例代码详解
Jul 28 Python
python实现二分类和多分类的ROC曲线教程
Jun 15 Python
如何清空python的变量
Jul 05 Python
简单了解如何封装自己的Python包
Jul 08 Python
python生成word合同的实例方法
Jan 12 Python
python 获取计算机的网卡信息
Feb 18 Python
解决python3安装pandas出错的问题
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
php实现的MySQL通用查询程序
2007/03/11 PHP
php实现图片缩放功能类
2013/12/18 PHP
详解PHP发送邮件知识点
2018/05/06 PHP
php获取手机端的号码以及ip地址实例代码
2018/09/12 PHP
复制js对象方法(详解)
2013/07/08 Javascript
JavaScript中的lastIndexOf()方法使用详解
2015/06/06 Javascript
快速学习jQuery插件 jquery.validate.js表单验证插件使用方法
2015/12/01 Javascript
Webwork 实现文件上传下载代码详解
2016/02/02 Javascript
实例讲解使用原生JavaScript处理AJAX请求的方法
2016/05/10 Javascript
jQuery设计思想
2017/03/07 Javascript
JavaScript标准对象_动力节点Java学院整理
2017/06/27 Javascript
通过示例彻底搞懂js闭包
2017/08/10 Javascript
vue组件实现可搜索下拉框扩展
2020/10/23 Javascript
详解.vue文件中style标签的几个标识符
2018/07/17 Javascript
es6中class类静态方法,静态属性,实例属性,实例方法的理解与应用分析
2020/02/15 Javascript
JS数组降维的实现Array.prototype.concat.apply([], arr)
2020/04/28 Javascript
[03:22]DSPL第一期精彩集锦:酷炫到底!
2014/11/07 DOTA
python类继承与子类实例初始化用法分析
2015/04/17 Python
谈谈Python进行验证码识别的一些想法
2016/01/25 Python
Python网络爬虫出现乱码问题的解决方法
2017/01/05 Python
python list排序的两种方法及实例讲解
2017/03/20 Python
python分布式环境下的限流器的示例
2017/10/26 Python
利用Python暴力破解zip文件口令的方法详解
2017/12/21 Python
Python下调用Linux的Shell命令的方法
2018/06/12 Python
Python设计模式之策略模式实例详解
2019/01/21 Python
python函数参数(必须参数、可变参数、关键字参数)
2019/08/16 Python
python实现字典嵌套列表取值
2019/12/16 Python
python3下pygame如何实现显示中文
2020/01/11 Python
python代码能做成软件吗
2020/07/24 Python
大学军训感言200字
2014/02/26 职场文书
彩妆大赛策划方案
2014/05/13 职场文书
大学入学感言
2015/08/01 职场文书
2016年教师党员公开承诺书
2016/03/24 职场文书
Go语言中break label与goto label的区别
2021/04/28 Golang
mybatis中注解与xml配置的对应关系和对比分析
2021/08/04 Java/Android
全网非常详细的pytest配置文件
2022/07/15 Python