'如何重用我正在使用Django 3.0的此错误,'
from django.db import models
# Create your models here.
class Topic(models.Model):
top_name=models.CharField(max_length=264,unique=True)
def __str__(self):
return self.top_name
class Webpage(models.Model):
topic= models.ForeignKey(Topic)
name = models.CharField(max_length=264,unique=True)
url = models.URLField(unique= True)
def __str__(self):
return self.name
class AccessRecord(models.Model):
name = models.ForeignKey(Webpage)
date = models.DateField()
def __str__(self):
return str(self.date)
我复制了Django 1版本的代码,而我正在使用Django 3.0版本。
文件“ C:\ Users \ himan5hu \ Documents \ HTML \ My_Django \ first_project \ first_app \ models.py”,第7行,在 类网页(models.Model):
文件“ C:\ Users \ himan5hu \ Documents \ HTML \ My_Django \ first_project \ first_app \ models.py”,网页topic = models.ForeignKey(Topic)中的第8行
topic= models.ForeignKey(Topic)
因为django-2.0,所以必须为on_delete=…
parameter [Django-doc]指定on_delete=…
。在ForeignKey
之前,默认为django-2.0。
CASCADE
是一个参数,指定删除目标对象时的处理方法。如果是on_delete=…
,则指向CASCADE
的Webpage
将被删除。
因此,您可以通过以下方式解决此问题:
Topic
您也需要在现有的迁移文件中进行更改。
但是,检查文档并查看是否更合适其他选项可能很有用。