我有一个简单的模型:
class TestModel(models.Model):
test_store = HStoreField()
我根据HStoreField docs编辑了此模型的迁移。
创建包含测试数据{"foo": "bar"}
的对象时没有问题,在管理员中,test_store
的字段会显示该值,但是当我尝试使用管理员保存它时,我得到以下错误:
TypeError: expected string or buffer
为什么?
我正在使用Django 1.8.3和Python 2.7.9
提示:似乎它将数据作为{u'foo': u'bar'}
传递并遇到JSONDecoder的问题:
def decode(self, s, _w=WHITESPACE.match):
"""Return the Python representation of ``s`` (a ``str`` or ``unicode``
instance containing a JSON document)
"""
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
...
end = _w(s, end).end()
if end != len(s):
raise ValueError(errmsg("Extra data", s, end, len(s)))
return obj
def raw_decode(self, s, idx=0):