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 相关文章推荐
在RedHat系Linux上部署Python的Celery框架的教程
Apr 07 Python
Python编程中归并排序算法的实现步骤详解
May 04 Python
Python表示矩阵的方法分析
May 26 Python
python下载文件记录黑名单的实现代码
Oct 24 Python
Python中列表与元组的乘法操作示例
Feb 10 Python
Python实现通讯录功能
Feb 22 Python
Python selenium根据class定位页面元素的方法
Feb 26 Python
Python2与Python3的区别实例总结
Apr 17 Python
Python从list类型、range()序列简单认识类(class)【可迭代】
May 31 Python
Python3enumrate和range对比及示例详解
Jul 13 Python
使用Keras加载含有自定义层或函数的模型操作
Jun 10 Python
使用tensorflow根据输入更改tensor shape
Jun 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 arsort 数组降序排序详细介绍
2016/11/17 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
2020/01/26 PHP
面向对象的javascript(笔记)
2009/10/06 Javascript
IE6 弹出Iframe层中的文本框“经常”无法获得输入焦点
2009/12/27 Javascript
基于JQuery的cookie插件
2010/04/07 Javascript
JQuery中判断一个元素下面是否有内容或者有某个标签的判断代码
2012/02/02 Javascript
JavaScript cookie的设置获取删除详解
2014/02/11 Javascript
本人自用的global.js库源码分享
2015/02/28 Javascript
JS实现控制表格只显示行边框或者只显示列边框的方法
2015/03/31 Javascript
移动Web中图片自适应的两种JavaScript解决方法
2015/06/18 Javascript
js数组去重的5种算法实现
2015/11/04 Javascript
java中String类型变量的赋值问题介绍
2016/03/23 Javascript
Node.js Express 框架 POST方法详解
2017/01/23 Javascript
jQuery文字轮播特效
2017/02/12 Javascript
layui之select的option叠加问题的解决方法
2018/03/08 Javascript
p5.js入门教程之键盘交互
2018/03/19 Javascript
ES6 系列之 WeakMap的使用示例
2018/08/06 Javascript
jQuery实现轮播图及其原理详解
2020/04/12 jQuery
Element UI框架中巧用树选择器的实现
2018/12/12 Javascript
使用puppeteer爬取网站并抓出404无效链接
2018/12/20 Javascript
Vue2.0实现组件之间数据交互和通信操作示例
2019/05/16 Javascript
Python抽象类的新写法
2015/06/18 Python
Python爬虫之xlml解析库(全面了解)
2017/08/08 Python
python之生成多层json结构的实现
2020/02/27 Python
极度干燥澳大利亚官方网站:Superdry澳大利亚
2019/03/28 全球购物
linux面试题参考答案(7)
2014/07/24 面试题
刘胡兰的英雄事迹材料
2014/02/11 职场文书
文明风采获奖感言
2014/02/18 职场文书
大学生会计职业生涯规划范文
2014/02/28 职场文书
论文评语大全
2014/04/29 职场文书
交警个人先进事迹材料
2014/05/11 职场文书
关于环保的活动方案
2014/08/25 职场文书
爱的奉献演讲稿
2014/09/10 职场文书
2014年团支部工作总结
2014/11/17 职场文书
2015年大学生入党自荐书
2015/03/24 职场文书
深入浅析Django MTV模式
2021/09/04 Python