我正在尝试在Django中保存记录JSONField,声明如下:
class MyClass(models.Model):
myfield = JSONField()
使用此代码片段:
MyClass.objects.create(myfield = {'a': 1, 'b': 2})
但结果是
DataError: malformed array literal: "{"a": 1, "b": 2}"
LINE 1: ... '{"a": 1, ...
^
DETAIL: Unexpected array element.
我正在尝试按照此处描述的示例:https://docs.djangoproject.com/en/1.10/ref/contrib/postgres/fields/
有人能指出我在这里想念的是什么吗?
答案 0 :(得分:0)
通常,如果对特定数据类型的类型转换未正确完成,则会返回此错误。我可以通过将其显式转换为MyClass.objects.create(myfield = ({'a': 1, 'b': 2})::jsonb)
到 jsonb 来消除此错误。
正如@John指出的那样,消除空格并尝试一下。这可能也有帮助。