Django 迁移以从数据库中删除行

bel*_*ums 5 django

如何通过迁移脚本从数据库表中删除具有某些条件的行?我需要手动编写或生成它吗?如何创建文件?

Dav*_*yan 9

您需要创建一个空的迁移文件:

python manage.py makemigrations <app_label> --empty
Run Code Online (Sandbox Code Playgroud)

打开生成的文件并添加新操作:

python manage.py makemigrations <app_label> --empty
Run Code Online (Sandbox Code Playgroud)

在迁移文件中定义函数:

operations = [
    migrations.RunPython(delete_some_rows) # name_of_the_function_to_be_called_to_delete_rows
]
Run Code Online (Sandbox Code Playgroud)

并简单地迁移。