Django 更新Mysql JSON字段
我正在使用django 1.8.9和MySQL 5.7.17。我有下表:Django 更新Mysql JSON字段,django,django-models,django-mysql,Django,Django Models,Django Mysql,我正在使用django 1.8.9和MySQL 5.7.17。我有下表: +----------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+--------------+------+-----+---------+----------------+ | brand
+----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+----------------+
| brand | varchar(255) | YES | MUL | NULL | |
| new_info | json | YES | | NULL | |
| keywords | json | YES | | NULL | |
| notes | varchar(255) | YES | | NULL | |
| id | mediumint(9) | NO | MUL | NULL | auto_increment |
+----------+--------------+------+-----+---------+----------------+
在django中,我有一个模型(来自django_mysql):
当数据被保存时,我得到一个非常有意义的错误:(-1,'错误完全重击')。无论如何,它最终会出现在以下SQL语句中:
UPDATE `products_info_by_kw` SET `brand` = _binary'BINGO!', `keywords` = _binary'[[\\"Tomato\\", \\"Madness\\"]]', `notes` = _binary'' WHERE `products_info_by_kw`.`id` = 48;
或多或少会产生预期的结果:
ERROR 3144 (22032): Cannot create a JSON value from a string with CHARACTER SET 'binary'.
简短的搜索结果是:,所以可能这是正确的做法,而我的mysql(或django)配置错误。有人知道如何修复它吗?结果是,最近在年,关于_二进制前缀有一些骚动(如果不是大惊小怪的话)。因此,我使用的版本1.3.8受到了它的影响,而在1.3.9中,更改已经恢复。
我的代码现在可以正常工作。jango在1.8中不支持任何类型的json字段,甚至在1.0中也不支持mysql json。10@e4c5你说的“本土”是什么意思?他们声称他们有,他们有这个字段(),代码(查看atm:)。这是第三方插件。如果你用的就是这个。更新您的问题以表明这一事实。@Sayse,如果我理解正确,我使用django_mysql(来自django_mysql.models import JSONField)。对不起,如果我没有,我正在使用django大约一个星期。
ERROR 3144 (22032): Cannot create a JSON value from a string with CHARACTER SET 'binary'.