导出/导入数据库表数据
# 导出/导入数据库表数据
使用 Django 自带的管理命令,可以用来备份你的模型实例和数据库表数据。
manage.py dumpdata
manage.py loaddata
# dumpdata 导出数据
通过 python manage.py dumpdata -h
可以查看相关参数:
-h
查看帮助文档--format
格式化输出导出的数据,支持导出数据格式为:json/xml/yaml--indent
美化 json 格式,json 缩进空格数--database
指定要从中转储装置的特定数据库。默认为"default"
数据库--exclude
(-e
) 选择不需要备份的 app 或者表--natural-foreign
使用外键-a
(--all
)使用 Django 的基本管理器转储数据库中存储的所有模型,包括那些将由自定义管理器过滤或修改的模型。
将整个 Django 使用到的数据库转存到 db.json 文件中(备份整个数据库):
python manage.py dumpdata > db.json
1
将指定 app 中的所有数据导出(备份指定的 app):
python manage.py dumpdata app名 > app名.json
1
将指定表中的数据导出(备份特定的表):
python manage.py dumpdata app名.model名 > model名.json
1
也可以美化一下导出的数据格式,方便查看,比如导出 json 格式的数据:
python manage.py dumpdata app名.model名 --indent 2 --format json > model名.json
1
# loaddata 导入数据
loaddata 可以用来导入固定格式的数据到数据库,不过一般建议先清空对应表的数据,再导入数据,否则可能会因为字段重复产生报错:
# 将 users.json 中的数据导入数据库
python manage.py loaddata users.json
1
2
2
命令执行完,数据就会导入到数据库了。
(完)