小编典典

如何在Django中制作db dumpfile

python

我想在django中进行转储,而不管我使用的数据库是什么,以后都可以加载。为此,命令’dumpdata’很完美,但是它正在控制台上打印输出。此外,我使用call_command函数调用它,因此我无法将其内容存储在任何变量中,因为它正在控制台上打印输出。

请让我知道如何使用dumpdata或任何其他命令或api将转储存储到文件中。

谢谢


阅读 135

收藏
2021-01-20

共1个答案

小编典典

可以 选择一个文件,把dumpdata输出到如果使用从调用它的Python之内call_command,例如:

from django.core.management import call_command

output = open(output_filename,'w') # Point stdout at a file for dumping data to.
call_command('dumpdata','model_name',format='json',indent=3,stdout=output)
output.close()

但是,如果您尝试从命令行(例如--stdout=filename.json在dumpdata命令末尾)调用此命令,则会出现错误manage.py: error: no such option: --stdout

这样就可以了,您只需要在Python脚本中而不是在命令行上调用它即可。如果您希望将其作为命令行选项,那么重定向(如其他建议一样)是您的最佳选择。

2021-01-20