python - 如何修复“TypeError 缺少 1 个必需的位置参数:'on_delete'”
问题描述
我正在为我的博客设置类别标签,我收到一个 TypeError: init () missing 1 required positional argument: 'on_delete',即使我包含了“on_delete=models.CASCADE”。
from django.db import models
from django.urls import reverse
from tinymce import HTMLField
class CategoryTag(models.Model):
title = models.CharField(max_length=150)
slug = models.SlugField()
parent = models.ForeignKey(
'self',
on_delete=models.CASCADE,
blank=True,
null=True,
related_name='children'
)
class Meta:
unique_together = ('slug', 'parent',)
verbose_name_plural = "categories"
def __str__(self):
full_path = [self.title]
k = self.parent
while k is not None:
full_path.append(k.title)
k = k.parent
return ' -> '.join(full_path[::-1])
class Post(models.Model):
title = models.CharField(max_length=100)
overview = models.TextField()
timestamp = models.DateTimeField(auto_now_add=True)
content = HTMLField()
comment_count = models.IntegerField(default=0)
post_img = models.ImageField()
category = models.ForeignKey('CategoryTag', null=True, blank=True)
featured = models.BooleanField()
slug = models.SlugField(unique=True)
def __str__(self):
return self.title
def get_cat_list(self):
k = self.category
breadcrumb = ["dummy"]
while k is not None:
breadcrumb.append(k.slug)
k = k.parent
for i in range(len(breadcrumb)-1):
breadcrumb[i] = '/'.join(breadcrumb[-1:i-1:-1])
return breadcrumb[-1:0:-1]
def get_absolute_url(self):
return reverse('post-detail', kwargs={
'id': self.id
})
我试图通过删除其他字段(空白=真,空=真,相关名称='孩子')来绕过,但我仍然收到相同的错误。
解决方案
推荐阅读
- oracle - Oracle SQL 和 PL/SQL 上下文切换
- woocommerce - 自定义 WooCommerce 支付网关未显示
- javascript - AngularJS UI 路由器在本地主机上不起作用
- java - 达到改变Java工作目录的效果
- sml - 递归漂亮的打印表达式
- python - 递归列出数据模型中任意深度的所有对象?
- javascript - javascript(谷歌应用程序脚本)声明变量
- git - Git说所有提交都在一台计算机(Windows)上完成,而不是另一台(Mac)的网络驱动器?
- webhdfs - hdfs dfs -ls webhdfs:// 未列出所有文件
- php - changePSW 功能不起作用