使用 Python 3/Django,如何将 MySql 表数据导出为 YAML 文件?

Posted

技术标签:

【中文标题】使用 Python 3/Django,如何将 MySql 表数据导出为 YAML 文件?【英文标题】:Using Python 3/Django, how do I export MySql table data as a YAML file? 【发布时间】:2020-05-18 00:53:30 【问题描述】:

我正在使用 Python 3.7、Django 2.0 和 mysql 5.7。我有一个 InnoDB 表

mysql> show create table address_country;
+-----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table           | Create Table                                                                                                                                                                                                                                                                                        |
+-----------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| address_country | CREATE TABLE `address_country` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(40) COLLATE utf8_bin NOT NULL,
  `code` varchar(2) COLLATE utf8_bin NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=499 DEFAULT CHARSET=utf8 COLLATE=utf8_bin |
+-----------------+--------------------------------------------------------

如何将表格数据导出为 YAML 文件?我希望开发一个不对任何 MySql 表名或列进行硬编码的解决方案,但在这一点上,任何解决方案都比没有解决方案要好。

【问题讨论】:

【参考方案1】:

Django 提供dumpdata 管理命令就是为了这个目的:

python manage.py dumpdata address.Country --format yaml

(假设模型由 Django 管理。如果不是,您仍然可以创建 unmanaged 模型来引用表,然后使用此命令)。

【讨论】:

以上是关于使用 Python 3/Django,如何将 MySql 表数据导出为 YAML 文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Python 字典保存为 NodeJS 字典? [复制]

Python 3+Django 3 结合Vue.js框架构建前后端分离Web开发平台实战

如何将字典值分配给 Python 中的变量?

如何在 Python 中执行将数据写入标准输入的进程?

如何使用GitPython克隆存储库

搭建 python 3.5+pycharm 2017.1.3+django 1.12.0 首次 将sqlite3 迁移到mysql