Python 如何为依赖关系生成Django sqlclear输出级联

Python 如何为依赖关系生成Django sqlclear输出级联,python,django,Python,Django,在Django项目中,我有许多包含外键和多对多m2m关系的模型。当我尝试使用manage.py中的sqlclear命令时,我收到错误: ERROR: cannot drop table appname_tablename because other objects depend on it 有没有办法让Django将级联添加到输出中,以便删除依赖表?您可以多次执行生成的删除表脚本,直到删除所有表为止。这对你来说是个问题吗 编辑 您可以在中使用以下内容覆盖: 您可以多次执行生成的DROP TA

在Django项目中,我有许多包含外键和多对多m2m关系的模型。当我尝试使用manage.py中的sqlclear命令时,我收到错误:

ERROR:  cannot drop table appname_tablename because other objects depend on it

有没有办法让Django将级联添加到输出中,以便删除依赖表?

您可以多次执行生成的删除表脚本,直到删除所有表为止。这对你来说是个问题吗

编辑

您可以在中使用以下内容覆盖:


您可以多次执行生成的DROP TABLE脚本,直到删除所有表为止。这对你来说是个问题吗

编辑

您可以在中使用以下内容覆盖:

为什么不使用sed

>>> ./manage.py sqlclear testapp | sed 's/";/" CASCADE;/' 
BEGIN;
DROP TABLE "testapp_person" CASCADE;
DROP TABLE "testapp_post" CASCADE;
DROP TABLE "testapp_userprofile" CASCADE;
DROP TABLE "testapp_school" CASCADE;
DROP TABLE "testapp_events" CASCADE;
DROP TABLE "testapp_uploadmodel" CASCADE;
COMMIT;
为什么不使用sed

>>> ./manage.py sqlclear testapp | sed 's/";/" CASCADE;/' 
BEGIN;
DROP TABLE "testapp_person" CASCADE;
DROP TABLE "testapp_post" CASCADE;
DROP TABLE "testapp_userprofile" CASCADE;
DROP TABLE "testapp_school" CASCADE;
DROP TABLE "testapp_events" CASCADE;
DROP TABLE "testapp_uploadmodel" CASCADE;
COMMIT;

我的意思是,在现实中,我可以写一个shell脚本,可以使用regex;级联;当我将sqlclear的输出传输到dbshell时,虽然我希望使用一个更加优雅和惯用的-cascade选项,但实际上我可以编写一个可以使用regex的shell脚本;级联;当我将sqlclear的输出传输到dbshell时,虽然一个更优雅、更惯用的级联选项正是我所希望的,这正是我所想的——感谢你澄清了这一点,尽管我正在寻找一个“本地”的Django解决方案,这就是为什么我接受了@danhip的答案——正是我所想的——感谢你澄清了这一点,尽管我在寻找一个“本地”的Django这就是为什么我接受了@danihp的答案