[英]How to use call_command with dumpdata command to save json to file
[英]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從dumpdata中排除某些內容?
提前致謝。
您應該使用列表來傳遞這樣的參數:
call_command("dumpdata", format="json", e=["app1", "app2"])
錯誤“未安裝帶有標簽'a'的應用” ,提示Django如何處理dumpdata命令(字符串“ app1”被視為列表)。
使用這個e排除像這樣
call_command('dumpdata','appname', '-etitanapp.databasebackup', format='json',indent=3,stdout=output)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.