如何解决 TypeError: on_delete must be callable on Django 模型?

GTA*_*prx 5 python django cascade django-models

突然我收到一个错误,说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.')
Run Code Online (Sandbox Code Playgroud)

类型错误:on_delete 必须是可调用的。

Wil*_*sem 10

您的模型之一中的字段具有:

class SomeModel(models.Model):
    # …
    field=models.ForeignKey(default=1, on_delete='CASCADE', to='main.Category')
Run Code Online (Sandbox Code Playgroud)

但是您不能将字符串传递给on_delete=…参数,它应该是:

class SomeModel(models.Model):
    # …
    field=models.ForeignKey(default=1, on_delete=models.CASCADE, to='main.Category')
Run Code Online (Sandbox Code Playgroud)

您还需要删除迁移文件 ( main/migrations/0014_auto_20191025_1154.py),并进行新的迁移。