Django踩坑记录1

from django.db import models # Create your models here. class Event(models.Model): name = models.CharField(max_length=100) #发布会标题 limit = models.IntegerField() #参加人数 status = models.BooleanField() #状态 address = models.CharField(max_length=200) #地址 start_time = models.DateTimeField('events time')#发布会时间 create_time = models.DateTimeField(auto_now=True)#创建时间 def __str__(self): return self.name class Guest(models.Model): event = models.ForeignKey(Event) #关联发布会 realname = models.CharField(max_length=64) #姓名 phone = models.CharField(max_length=16) #手机号 email = models.EmailField() #邮箱 sign = models.BooleanField() #签到状态 create_time = models.DateTimeField(auto_now=True) #创建时间 class Meta: unique_together = ("event","phone") def __str__(self): return self.realname

报错如下:

解决办法:

将代码改为:

event = models.ForeignKey(Event,on_delete=models.CASCADE,)即在外键值的后面加上 on_delete=models.CASCADE

原因分析:

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

 

__EOF__

本文作者Harry
本文链接https://www.cnblogs.com/harry66/p/13167778.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   Harry_666  阅读(274)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示