我使用的是Python 3.7、Django 2.0和Mysql 5.7,它们都是通过docker容器设置的。我正在尝试将以下种子数据插入到我的一个表中。。。
- model: address.state
pk: 14970
fields:
name: "Xocalu0131"
code: XCI
country: 266
这导致MySql错误,"无法加载地址。状态(pk=14750(:(1366,"不正确的字符串值:第1行列'name'的'\xC4\x81n'"(">
web_1 | File "/usr/local/lib/python3.7/site-packages/MySQLdb/cursors.py", line 209, in execute
web_1 | res = self._query(query)
web_1 | File "/usr/local/lib/python3.7/site-packages/MySQLdb/cursors.py", line 315, in _query
web_1 | db.query(q)
web_1 | File "/usr/local/lib/python3.7/site-packages/MySQLdb/connections.py", line 239, in query
web_1 | _mysql.connection.query(self, query)
web_1 | django.db.utils.OperationalError: Problem installing fixture '/app/maps/fixtures/state_data.yaml': Could not load address.State(pk=14750): (1366, "Incorrect string value: '\xC4\x81n' for column 'name' at row 1")
下面是我的表格描述。。。
+---------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| address_state | CREATE TABLE `address_state` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(165) NOT NULL,
`code` varchar(3) NOT NULL,
`country_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `address_state_name_country_id_a46a5987_uniq` (`name`,`country_id`),
KEY `address_state_country_id_0a4efd43_fk_address_country_id` (`country_id`),
CONSTRAINT `address_state_country_id_0a4efd43_fk_address_country_id` FOREIGN KEY (`country_id`) REFERENCES `address_country` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+---------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
如何格式化表格,以便正确插入值?该表是通过基于Django地址模块的迁移自动生成的——https://github.com/furious-luke/django-address
CHARSET=latin1
是重要的位。
您可以更改表格字符集:
ALTER TABLE address_state CHARSET=utf8mb4