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

Using Python 3/Django, how do I export MySql table data as a YAML file?

我正在使用 Python 3.7,Django 2.0 和 MySql 5.7。我有一个 InnoDB table

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 |
+-----------------+--------------------------------------------------------

如何将 table 数据导出为 YAML 文件?我最好开发一个不硬编码任何 MySql table 名称或列的解决方案,但此时任何解决方案都比没有解决方案好。

Django 为此提供了 dumpdata 管理命令:

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

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