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中使用pyhook实现键盘监控的例子
Jul 18 Python
python格式化字符串实例总结
Sep 28 Python
使用Python编写一个模仿CPU工作的程序
Apr 16 Python
Python实现批量读取word中表格信息的方法
Jul 30 Python
python 调用c语言函数的方法
Sep 29 Python
TensorFlow 合并/连接数组的方法
Jul 27 Python
django foreignkey外键使用的例子 相当于left join
Aug 06 Python
命令行运行Python脚本时传入参数的三种方式详解
Oct 11 Python
Python ORM框架Peewee用法详解
Apr 29 Python
scrapy与selenium结合爬取数据(爬取动态网站)的示例代码
Sep 28 Python
scrapy-splash简单使用详解
Feb 21 Python
Python 求向量的余弦值操作
Mar 04 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实现 使用PHP数组内部指针操作函数
2010/10/12 PHP
解析PHP提交后跳转
2013/06/23 PHP
php基于session实现数据库交互的类实例
2015/08/03 PHP
解析WordPress中控制用户登陆和判断用户登陆的PHP函数
2016/03/01 PHP
常用的javascript function代码
2008/05/23 Javascript
jQuery 开发者应该注意的9个错误
2012/05/03 Javascript
jQuery-Tools-overlay 使用介绍
2012/07/14 Javascript
jquery退出each循环的写法
2014/02/26 Javascript
jquery使用slideDown实现模块缓慢拉出效果的方法
2015/03/27 Javascript
Nodejs express框架一个工程中同时使用ejs模版和jade模版
2015/12/28 NodeJs
jQuery绑定事件监听bind和移除事件监听unbind用法实例详解
2016/01/19 Javascript
解析javascript图片懒加载与预加载的分析总结
2016/10/27 Javascript
jQuery实现按比例缩放图片的方法
2017/04/29 jQuery
ES6 javascript的异步操作实例详解
2017/10/30 Javascript
让Vue也可以使用Redux的方法
2018/05/23 Javascript
vue2.0页面前进刷新回退不刷新的实现方法
2018/07/31 Javascript
微信小程序地图(map)组件点击(tap)获取经纬度的方法
2019/01/10 Javascript
Node.js折腾记一:读指定文件夹,输出该文件夹的文件树详解
2019/04/20 Javascript
微信小程序常用赋值方法小结
2019/04/30 Javascript
JavaScript this关键字指向常用情况解析
2020/09/02 Javascript
[01:07:20]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第二场 2月2日
2021/03/11 DOTA
python3之微信文章爬虫实例讲解
2017/07/12 Python
python中for用来遍历range函数的方法
2018/06/08 Python
python变量赋值方法(可变与不可变)
2019/01/12 Python
对python使用telnet实现弱密码登录的方法详解
2019/01/26 Python
解决python中画图时x,y轴名称出现中文乱码的问题
2019/01/29 Python
使用K.function()调试keras操作
2020/06/17 Python
加拿大消费电子和手机购物网站:The Source
2017/01/28 全球购物
学生档案自我鉴定
2013/10/07 职场文书
银行服务感言
2014/03/01 职场文书
党支部活动策划方案
2014/08/18 职场文书
2014年财务部工作总结
2014/11/11 职场文书
二手车交易协议书标准版
2014/11/16 职场文书
一波干货,会议主持词开场白范文
2019/05/06 职场文书
创业计划书之熟食店
2019/10/16 职场文书
springboot项目以jar包运行的操作方法
2021/06/30 Java/Android