Django生成数据库及添加用户报错解决方案

 更新时间:2020年10月09日 11:20:53   作者:陈彦斌  
这篇文章主要介绍了Django生成数据库及添加用户报错解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

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实时得到鼠标位置的示例讲解

    今天小编就为大家分享一篇对python实时得到鼠标位置的示例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Keras 使用 Lambda层详解

    Keras 使用 Lambda层详解

    这篇文章主要介绍了Keras 使用 Lambda层详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python之 requests的使用(一)

    Python之 requests的使用(一)

    requests是一个很实用的Python HTTP客户端库,爬虫和测试服务器响应数据时经常会用到,requests是Python语言的第三方的库,专门用于发送HTTP请求,使用起来比urllib简洁很多,这篇文章主要介绍requests的基础用法
    2023-04-04
  • Python学习笔记之读取文件、OS模块、异常处理、with as语法示例

    Python学习笔记之读取文件、OS模块、异常处理、with as语法示例

    这篇文章主要介绍了Python学习笔记之读取文件、OS模块、异常处理、with as语法,结合实例形式简单分析了Python针对文件、目录的读取、异常处理等相关操作技巧,需要的朋友可以参考下
    2019-06-06
  • Python实现的拉格朗日插值法示例

    Python实现的拉格朗日插值法示例

    这篇文章主要介绍了Python实现的拉格朗日插值法,简单介绍了拉格朗日插值法的原理并结合完整实例形式给出了拉格朗日插值法的具体实现与使用技巧,需要的朋友可以参考下
    2019-01-01
  • 如何用Python Beautiful Soup解析HTML内容

    如何用Python Beautiful Soup解析HTML内容

    Beautiful Soup是一种Python的解析库,主要用于解析和处理HTML/XML内容,详细介绍Beautiful Soup的使用方式和应用场景,本文给大家介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • 在交互式环境中执行Python程序过程详解

    在交互式环境中执行Python程序过程详解

    这篇文章主要介绍了在交互式环境中执行Python程序过程详解,运行Python脚本程序的方式有多种,目前主要的方式有:交互式环境运行、命令行窗口运行、开发工具上运行等,其中在不同的操作平台上还互不相同,需要的朋友可以参考下
    2019-07-07
  • Eclipse + Python 的安装与配置流程

    Eclipse + Python 的安装与配置流程

    Eclipse的安装是很容易的。Eclipse是基于java的一个应用程序,因此需要一个java的运行环境(JRE)才行。(我这里主要介绍windows下的安装)
    2013-03-03
  • python绘图pyecharts+pandas的使用详解

    python绘图pyecharts+pandas的使用详解

    这篇文章主要介绍了python绘图pyecharts+pandas的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Python使用BeautifulSoup4修改网页内容的实战记录

    Python使用BeautifulSoup4修改网页内容的实战记录

    BeautifulSoup除了可以查找和定位网页内容,还可以修改网页,下面这篇文章主要给大家介绍了关于Python使用BeautifulSoup4修改网页内容的相关资料,需要的朋友可以参考下
    2022-05-05

最新评论