使用 call_command 在 django dumpdata 中排除多个应用程序
Excluding multiple app in django dumpdata using call_command
我正在使用 call_command 来启动数据转储,我想排除多个应用程序,所以如果我没有使用 call_command,我会按照 django 文档中的说明去做它:
python manage.py dumpdata --format json -e app1 -e app2
但是在call_command我不知道应该怎么称呼它:
from django.core.management import call_command
call_command("dumpdata", format="json", ?)
什么不起作用:
call_command("dumpdata", format="json", exclude="app1")
call_command("dumpdata", format="json", exclude="app1 app2")
# CommandError: No installed app with label 'a'.
call_command("dumpdata", format="json", e="app1")
call_command("dumpdata", format="json", e="app1 app2")
# Does not fail but does not exclude anything either
call_command("dumpdata", format="json", e="app1", e="app2")
# SyntaxError: keyword argument repeated
甚至可以使用 call_command 从转储数据中排除某些内容吗?
提前致谢。
您应该像这样使用列表来传递参数:
call_command("dumpdata", format="json", e=["app1", "app2"])
错误 No installed app with label 'a',提示 Django 如何处理 dumpdata 命令(字符串 "app1" 被视为列表)。
像这样使用这个 e 进行排除
call_command('dumpdata','appname', '-etitanapp.databasebackup', format='json',indent=3,stdout=output)
我正在使用 call_command 来启动数据转储,我想排除多个应用程序,所以如果我没有使用 call_command,我会按照 django 文档中的说明去做它:
python manage.py dumpdata --format json -e app1 -e app2
但是在call_command我不知道应该怎么称呼它:
from django.core.management import call_command
call_command("dumpdata", format="json", ?)
什么不起作用:
call_command("dumpdata", format="json", exclude="app1")
call_command("dumpdata", format="json", exclude="app1 app2")
# CommandError: No installed app with label 'a'.
call_command("dumpdata", format="json", e="app1")
call_command("dumpdata", format="json", e="app1 app2")
# Does not fail but does not exclude anything either
call_command("dumpdata", format="json", e="app1", e="app2")
# SyntaxError: keyword argument repeated
甚至可以使用 call_command 从转储数据中排除某些内容吗?
提前致谢。
您应该像这样使用列表来传递参数:
call_command("dumpdata", format="json", e=["app1", "app2"])
错误 No installed app with label 'a',提示 Django 如何处理 dumpdata 命令(字符串 "app1" 被视为列表)。
像这样使用这个 e 进行排除
call_command('dumpdata','appname', '-etitanapp.databasebackup', format='json',indent=3,stdout=output)