python测试开发django-176.数据库迁移数据(manage.py dumpdata)
2021/12/16 2:47:35
本文主要是介绍python测试开发django-176.数据库迁移数据(manage.py dumpdata),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
前言
manage.py dumpdata
是 django 自带的管理命令,可以用来备份你的模型实例和数据库.
dumpdata 命令
python manage.py -h
可以看到有个dumpdata 命令,用于备份数据库,把数据库表的内容转为 json/xml/yaml 格式
>python manage.py -h Type 'manage.py help <subcommand>' for help on a specific subcommand. Available subcommands: [auth] changepassword createsuperuser [authtoken] drf_create_token [contenttypes] remove_stale_contenttypes [django] check compilemessages createcachetable dbshell diffsettings 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
将 yoyo app 转存到 admin.json 中(备份特定的 app)
python manage.py dumpdata yoyo > yoyo.json
将 django.admin.logentry 表中的内容备份 (备份特定的表)
python manage.py dumpdata admin.logentry > logentry.json
--indent 加上一个代表空格数的数字美化json格式
python manage.py dumpdata yoyo.person --indent 2 > person.json
如 yoyo_person 这张表的数据为
导出为 person.json 后数据
[ { "model": "yoyo.person", "pk": 1, "fields": { "name": "yoyo", "age": 111 } }, { "model": "yoyo.person", "pk": 2, "fields": { "name": "yoyo2", "age": 22 } }, { "model": "yoyo.person", "pk": 3, "fields": { "name": "yoyo23", "age": 33 } }, { "model": "yoyo.person", "pk": 4, "fields": { "name": "yoyo", "age": 22 } } ]
--format 格式化输出导出的数据,支持导出数据格式为:json/xml/yaml
python manage.py dumpdata yoyo.person --indent 2 --format yaml > person.yml
导出为yml格式
- model: yoyo.person pk: 1 fields: name: yoyo age: 111 - model: yoyo.person pk: 2 fields: name: yoyo2 age: 22 - model: yoyo.person pk: 3 fields: name: yoyo23 age: 33 - model: yoyo.person pk: 4 fields: name: yoyo age: 22
loaddata 导入数据
Django loaddata 是 django 自带的管理命令,可以用来导入固定格式的数据到数据库
可以先清空yoyo.person表数据,再导入数据
# 将 person.json 中数据库导入数据库 python manage.py loaddata person.json
命令执行完,数据就会导入到数据库了
这篇关于python测试开发django-176.数据库迁移数据(manage.py dumpdata)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门