python - 如何解决 TypeError:on_delete 必须在 Django 模型上可调用?
问题描述
突然我收到一条错误消息,说TypeError: on_delete must be callable.
我不知道如何解决这个错误,因为field=models.ForeignKey(default=1, on_delete='CASCADE', to='main.Category'),
我的代码中没有提到任何地方。
File "/home/arch/myproject/main/migrations/0014_auto_20191025_1154.py", line 6, in <module>
class Migration(migrations.Migration):
File "/home/arch/myproject/main/migrations/0014_auto_20191025_1154.py", line 47, in Migration
field=models.ForeignKey(default=1, on_delete='CASCADE', to='main.Category'),
File "/home/arch/.local/lib/python3.8/site-packages/django/db/models/fields/related.py", line 801, in __init__
raise TypeError('on_delete must be callable.')
TypeError: on_delete 必须是可调用的。
解决方案
您的一个模型中的一个字段具有:
class SomeModel(models.Model):
# …
field=models.ForeignKey(default=1, on_delete='CASCADE', to='main.Category')
但是您不能将字符串传递给on_delete=…
参数,它应该是:
class SomeModel(models.Model):
# …
field=models.ForeignKey(default=1, on_delete=models.CASCADE, to='main.Category')
您还需要删除迁移文件 ( main/migrations/0014_auto_20191025_1154.py
),并进行新的迁移。
推荐阅读
- python - Scrapy CSV incorrectly formatted
- c# - Run exe file from resource in c# with security(prevent extracting)
- .htaccess - 将旧域重定向到新域...所有页面
- scheme - Why is my Reverse Function Reversing All my Pairs BESIDES One?
- java - Android Switch 不断切换回原来的样子
- python - 优化海量python字典解析,多线程
- flutter - 如何在不同的小部件上使用相同的 animation.value?
- python - 如何根据包含所需顺序的预定义数组对熊猫数据框的值进行排序?
- c - for 循环赋值如何与 C 中的初始化变量一起工作?
- python - logits 和标签必须具有相同的形状 ((294, 6) vs (6, 1))