如何从Django模型中为模型字段定义json类型

G-C*_*der 5 python django postgresql json

谁能告诉我如何为模型中的特定字段定义json数据类型。

我已经试过了

from django.db import models
import jsonfield

class Test(models.Model):
    data = jsonfield.JSONField()
Run Code Online (Sandbox Code Playgroud)

但是当我说它python manage.py sqlall xyz 以数据字段为文本时

BEGIN;
CREATE TABLE "xyz_test" (
   "data" text NOT NULL
)
; 
Run Code Online (Sandbox Code Playgroud)

我仍然尝试将json数据插入该字段,但其给出的错误为:

ERROR:  value too long for type character varying(15)
Run Code Online (Sandbox Code Playgroud)

有人请帮忙。提前致谢。

yuv*_*uvi 5

在后台JSONField 实际上是一个 TextField,因此 sqlall 的输出不是问题,这是预期的行为。

此外,我重新创建了您的模型并且它工作得很好,无论是作为字符串输入值还是作为 Python 字典输入时,都没有任何字符限制。所以我最好猜测这个问题是一个完全不相关的字段,有 15 个字符的限制。