我知道您可以轻松地将YAML文件导入Django数据库(例如,为了在启动项目之前填充数据库)但是我该如何做相反的事情(即将完整的数据库保存到单个.yaml文件中)
我读到有一种方法可以将一个表导出到一个文件中:
YAMLSerializer = serializers.get_serializer("yaml")
yaml_serializer = YAMLSerializer()
with open("file.yaml", "w") as out:
yaml_serializer.serialize(SomeModel.objects.all(), stream=out)
但是我需要在完整的数据库上执行它(它有许多表,每个表之间有复杂的关系)。
我可以编写一个脚本来为我做这个,但我不想重做已经可能已经完成的事情,我不知道怎么做更好的方式让Django没有困难读完之后。
到目前为止,我一直在研究SQLITE3数据库引擎。
有什么想法吗?
答案 0 :(得分:10)
您需要dumpdata
管理命令。
pip install pyyaml
python manage.py dumpdata --format=yaml > /path/to/dump_file.yaml