概述

Django在根据models生成数据库表时报 __init__() missing 1 required positional argument: 'on_delete',简单记录下解决过程。


思路

在django2.0后,定义外键和一对一关系的时候需要加on_delete选项,此参数为了避免两个表里的数据不一致问题,不然会报错:

TypeError: __init__() missing 1 required positional argument: 'on_delete'

举例说明:

user=models.OneToOneField(User)

owner=models.ForeignKey(UserProfile)

需要改成:

user=models.OneToOneField(User,on_delete=models.CASCADE) --在老版本这个参数(models.CASCADE)是默认值

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就可以了。


1、查看ForeignKey部分

可以发现这个类写少了


2、调整models.py

将第十一行的代码改为:

author = models.ForeignKey(User,related_name="blog_posts

django 设置外键_django2.0前后版本定义外键和一对一关系的差别相关推荐

  1. mysql表定义外键语法_mysql设置外键的语法怎么写?

    2012-08-31 回答 mysql外键设置详解 (1) 外键的使用: 外键的作用,主要有两个: 一个是让数据库自己通过外键来保证数据的完整性和一致性 一个就是能够增加er图的可读性 有些人认为外键 ...

  2. mysql中外键的作用是什么_mysql外键基本功能与用法详解

    本文实例讲述了mysql外键基本功能与用法.分享给大家供大家参考,具体如下: 本文内容: 什么是外键 外键的增加 外键的修改和删除 外键的约束模式 首发日期:2018-04-12 什么是外键: 外键就 ...

  3. mysql 高版本检索外键_第05期:外键到底能不能用?

    外键的设计初衷是为了在数据库端保证对逻辑上相关联的表数据在操作上的一致性与完整性. 外键在大部分企业写的开发规范里会直接规避掉!外键有优缺点,也并不是说每种场景都不适用,完全没有必要一刀切.外键到底能 ...

  4. java12.0.1版本环境变量设置,2019年5月16,小白笔记

    java12.0.1版本环境变量设置,2019年5月16,小白笔记 Java12.0.1版本下载 环境变量设置详细的步骤: 注意:每个版本的环境变量设置是不同的,一定要先知道自己用的是什么版本的jav ...

  5. Rides5.0.4版本集群设置

    redis单机版安装连接Rides5.0.4版本单机版设置_weixin_39190796的博客-CSDN博客 redis5.0版本以下的伪集群redis5.0版本以下集群配置_weixin_3919 ...

  6. Layabox率先支持小米快游戏,LayaAir 2.0.2版本大幅提升3D性能、spine性能和内存优化、新增屏幕适配设置!...

    自上次LayaAir 2.0.1beta新增3D动画文件压缩.内存与性能优化.开放域项目创建等功能后,一个月很快就过去,在这段时间里,我们不仅在官网新增了大量的LayaAir 2.0 3D文档,优化了 ...

  7. vue2.5.2版本 :MAC设置应用在127.0.0.1:80端口访问; 并将127.0.0.1指向www.yours.com ;问题“ Invalid Host header”

    0.设置自己的host文件,将127.0.0.1指向自己想要访问的域名 127.0.0.1 www.yours.com 1.MAC设置应用在127.0.0.1:80端口访问: config/index ...

  8. CDH 版本 Kafka 外网设置

    登陆CDH页面,进入Kafka配置页面 搜索 advertised 修改advertised.host.name,这里我们有三台Broker,我们把每台的外网ip填写到对应的机器上 advertise ...

  9. Android5.0-10.0各版本行为变更

    Android Q 行为变更 非 SDK 接口限制 为了帮助确保应用稳定性和兼容性,Android 平台开始限制您的应用可在 Android 9(API 级别 28)中使用哪些非 SDK 接口.And ...

最新文章

  1. ArcGIS API for JavaScript4.x 之加载2D、3D地图
  2. 进程在与Windows Process Activation Service通信时出现严重错误 w3wp.exe错误
  3. php取月份函数,分享3个php获取日历的函数
  4. SparkSQL之DataFrame案例
  5. vs2008中C#3.0语言的新特性
  6. 碎片化学习不是学习碎片,看这篇了解碎片化学习的真相
  7. fis pure开发php,50个精品网站鉴赏
  8. bzoj4819 [Sdoi2017]新生舞会 分数规划(实数二分)+网络流检验
  9. Java爬虫工程师技能列表
  10. LINUX内核协议栈分析初探
  11. goredis文档中文翻译---Getting started with Golang Redis
  12. c语言的二维数组的指针访问,用指针访问二维数组
  13. Excel代替matplotlib画散点图 拟合曲线
  14. OpenGG.Clean.Player{喜歡看視頻用戶強推}
  15. 简单介绍下微信群大全500人大群及免费微信互投群万人群
  16. I2C driver编写指导二:编写i2c client driver指南
  17. 项目上线,部署到服务器(腾讯服务器),http协议及https协议(微信小程序必须https协议才可发布)、Nginx配置
  18. 一个WPF和SL的严重BUG,能导致任何的寄主程序崩溃
  19. java环境安装完毕,运行web项目报javax annotation managedbean unsup错误
  20. FX5U编程常用特殊软元

热门文章

  1. 用Gogs在Windows上搭建Git服务
  2. String.format()【演示具体的例子来说明】
  3. 基于Linux的视频传输系统(上大学时參加的一个大赛的论文)
  4. 错误信息输出,重定向到文件
  5. 【C语言】07-预处理指令;-宏定义
  6. .NET面向上下文、AOP架构模式(实现)
  7. 12th,Jan 研究生创新项目申报成功
  8. 以太网控制芯片DM9000在2440裸机上终于能正确接收数据了(源代码工程已经上传)...
  9. WIN2K/XP/2003 + APACHE + ASP + PHP + MYSQL 的简易实现
  10. apple id无法创建_我们如何使用Apple的学习框架来创建我们的第一个应用程序