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遍历类中所有成员的方法
Mar 18 Python
Python字符串和文件操作常用函数分析
Apr 08 Python
Python数据结构之翻转链表
Feb 25 Python
Python内建模块struct实例详解
Feb 02 Python
python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
Oct 06 Python
详解mac python+selenium+Chrome 简单案例
Nov 08 Python
python实现双色球随机选号
Jan 01 Python
python修改linux中文件(文件夹)的权限属性操作
Mar 05 Python
快速解决jupyter启动卡死的问题
Apr 10 Python
Django Path转换器自定义及正则代码实例
May 29 Python
Python grequests模块使用场景及代码实例
Aug 10 Python
Python控制台输出俄罗斯方块的方法实例
Apr 17 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 进度条实现代码
2009/03/10 PHP
Fedora下安装php Redis扩展笔记
2014/09/03 PHP
YII2.0之Activeform表单组件用法实例
2016/01/09 PHP
PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)
2020/10/30 PHP
jquery表格内容筛选实现思路及代码
2013/04/16 Javascript
自己动手写的jquery分页控件(非常简单实用)
2015/10/28 Javascript
获取阴历(农历)和当前日期的js代码
2016/02/15 Javascript
AngularJS入门教程之AngularJS指令
2016/04/18 Javascript
AngularJS路由切换实现方法分析
2017/03/17 Javascript
Angular中$broadcast和$emit的使用方法详解
2017/05/22 Javascript
详解Vue 方法与事件处理器
2017/06/20 Javascript
Angular 2父子组件之间共享服务通信的实现
2017/07/04 Javascript
基于JS实现移动端左滑删除功能
2017/07/28 Javascript
vue绑定的点击事件阻止冒泡的实例
2018/02/08 Javascript
vue生命周期的探索
2019/04/03 Javascript
在Python中利用Into包整洁地进行数据迁移的教程
2015/03/30 Python
Python实现遍历数据库并获取key的值
2015/05/17 Python
简单总结Python中序列与字典的相同和不同之处
2016/01/19 Python
[原创]pip和pygal的安装实例教程
2017/12/07 Python
对python读取zip压缩文件里面的csv数据实例详解
2019/02/08 Python
python实现两张图片拼接为一张图片并保存
2019/07/16 Python
StubHub德国:购买和出售门票
2017/09/06 全球购物
什么是静态路由,其特点是什么?什么是动态路由,其特点是什么?
2013/07/26 面试题
医院护士求职自荐信格式
2013/09/21 职场文书
大学生水果店创业计划书
2014/01/28 职场文书
百货商场楼层班组长竞聘书
2014/03/31 职场文书
《生命的药方》教学反思
2014/04/08 职场文书
团支部建设方案
2014/05/02 职场文书
庆六一活动总结
2014/08/29 职场文书
大学生党性分析材料
2014/12/19 职场文书
学校教学工作总结2015
2015/05/19 职场文书
校运会宣传稿大全
2015/07/23 职场文书
诚信考试主题班会
2015/08/17 职场文书
python中的plt.cm.Paired用法说明
2021/05/31 Python
MySQL 全文检索的使用示例
2021/06/07 MySQL
浅谈MySQL之浅入深出页原理
2021/06/23 MySQL