问题
Python编程从入门到实践第18章,18.2.4小节定义模型Entry下的models.py,
图片.png
创建好模型类,生成迁移文件时系统报错:
图片.png
错误类型
TypeError: __init__() missing 1 required positional argument: 'on_delete'
报的是类型错误,缺少一个必要的位置参数’on_delete‘
错误分析
models.py代码中:
class Entry(models.Model):
topic = models.ForeignKey(Topic)
在关联外键的函数中,’on_delete'在以前的Django版本中默认具备models.CASCADE
参数,然而在新的版本中需要额外加上这个参数,所以会报错缺少参数。
解决办法
手动添加on_delete
参数,
class Entry(models.Model):
topic = models.ForeignKey(Topic,on_delete=models.CASCADE,)
再次迁移数据库就成功了。
图片.png
网友评论