TypeError: __init__() missing 1 required positional argument: 'on_delete'
原因:Django 2.x版本之上进行外键操的时候需要on_delete
参数
models.ForeignKey(to='XXX',on_delete='XXX')
# on_delete后面可加的参数:
on_delete=None # 删除关联表中的数据时,当前表与其关联的field的行为
on_delete=models.CASCADE # 删除关联数据,与之关联也删除
on_delete=models.DO_NOTHING # 删除关联数据,什么也不做
on_delete=models.PROTECT # 删除关联数据,引发错误ProtectedError
# models.ForeignKey(to='xxx', on_delete=models.SET_NULL, blank=True, null=True)
on_delete=models.SET_NULL # 删除关联数据,与之关联的值设置为null(前提FK字段需要设置为可空,一对一同理)
# models.ForeignKey(to='xxx', on_delete=models.SET_DEFAULT, default='默认值')
on_delete=models.SET_DEFAULT # 删除关联数据,与之关联的值设置为默认值(前提FK字段需要设置默认值,一对一同理)
on_delete=models.SET # 删除关联数据,
a. 与之关联的值设置为指定值,设置:models.SET(值)
b. 与之关联的值设置为可执行对象的返回值,设置:models.SET(可执行对象)
分类:
报错总结
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具