Skip to main content
 首页 » 编程设计

python之如何使Django sqlclear输出依赖关系的CASCADE

2025年05月04日20wayfarer

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

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

有没有办法让 Django 在输出中添加 CASCADE 以便删除相关表?

请您参考如下方法:

为什么不使用 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;