【发布时间】:2014-11-11 03:12:11
【问题描述】:
谁能告诉我如何为模型中的特定字段定义 json 数据类型。
我试过了
from django.db import models
import jsonfield
class Test(models.Model):
data = jsonfield.JSONField()
但是当我说python manage.py sqlall xyz
它将数据字段作为文本
BEGIN;
CREATE TABLE "xyz_test" (
"data" text NOT NULL
)
;
我仍然尝试将 json 数据插入该字段,但它给出的错误为:
ERROR: value too long for type character varying(15)
请有人帮忙。提前致谢。
【问题讨论】:
-
嗯,在后台JSONField actually is a TextField,所以这不是问题,这是预期的行为。但是,15 个字符的限制有点奇怪 - 你能分享你试图保存的值吗?
-
@yuvi 这是值 - {'name':'xyz', 'email':'xyz@gmail.com', 'phone':'0123456789'}
-
我刚刚重新创建了您的模型,并且能够将该确切值保存到 jsonfield。您确定是 jsonfield 导致了该错误,而不是某些具有 15 个字符限制的不同字段吗?
-
是那个文本字段,无论如何请你发布你遵循的程序或语法。
-
应用程序。!!错误来自其他领域。知道了,伙计。
标签: python json django postgresql