以编程方式使用Django的loaddata

Den*_*gan 42 django loaddata

我想manage.py loaddata从Django视图中调用等效的东西.我希望能够指定从哪里加载数据以及将其加载到哪个应用程序中.

有任何想法吗?

Ale*_*lev 65

每个django-admin.py(manage.py)命令,如文档中所示,您可以使用以下代码从代码中调用:

from django.core.management import call_command

call_command('loaddata', 'myapp')
Run Code Online (Sandbox Code Playgroud)

如果第一个参数是命令名,则所有其他位置参数与命令行位置参数相同,所有关键字参数都是选项.

  • 您还可以为抑制控制台输出添加选项"verbosity = 0":call_command('loaddata','fixture_name.json',verbosity = 0) (4认同)
  • 还要注意**你应该使用`app_label`关键字参数**来指定加载夹具的位置,例如`call_command('loaddata','initial_data.json',app_label ='myapp')`.否则,它将从所有已安装的apps_中加载具有相同名称的灯具. (4认同)