python-3.x - Django 模型设置
问题描述
我收到一个类型错误:
__init__() missing 1 required positional argument: 'on_delete'
class Topic(models.Model)
text=models.CharField(max_length=200)
date_added=models.DateTimeField(auto_now_add=True)
class Entry(models.Model):
topic = models.ForeignKey(Topic)
text = models.TextField()
date_added=models.DateTimeField(auto_now_add=True)
class Meta:
verbose_name_plural='entries'
def __str__(self):
return self.text[:50] + "..."
解决方案
on_delete=models.CASCADE
在您的 ForeignKey 主题中添加,如下所示:
topic = models.ForeignKey(Topic, on_delete=models.CASCADE)
在 Django 中,当你使用 ForeignKey 时需要添加 on_delete=models.CASCADE 这意味着当你删除 Topic 时,在 Entry 模型中相同的主题将被一起删除
推荐阅读
- sql - 检查表中的所有行是否在几列中具有某些值
- javascript - 如何在 NodeJS 的 LEFT JOIN 上将 SQL 查询的结果放入自己的对象中?
- powershell - 如何在 Server 2016 上使用 Powershell 远程重启服务
- c# - 如何在VS2019中为C#设置环境变量
- javascript - 使用 Array.map() 渲染动态数组,但仅适用于选定的值
- c++ - 有没有办法为类中的所有成员可选地使用`std::optional`
- google-chrome - 下载铬失败
- discord.js - 我无法将已在语音通道中的用户移动到另一个语音通道
- ios - LazyVGrid 中的 NavigationLink 循环返回所有条目,SwiftUI
- python-3.x - 为什么导入的值不可调用