Django JSON 字段。 “模块”对象没有属性“JSONField”

新手上路,请多包涵

我正在学习 Django,并且对在模型中创建 json 字段感到沮丧。我试图在我的模型中创建一个 json 字段但出现错误:“模块”对象没有属性“JSONField”。这是我在 models.py 中的课程:

 class Question(models.Model):
    question_text = models.JSONField(max_length=200)
    pub_date = models.DateTimeField('date published')

我正在使用 django 1.9.8 和 postgresql 9.2.13。我需要在 postgresql db 中创建的表有一个 JSON 类型的列。我怎样才能在模型类中做到这一点?谢谢!

原文由 Gary 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 805
2 个回答

模型中没有 JSONField 。但是有一个方便的 jsonfield 包可供使用 JSONField 在 Django 模型中。要安装软件包,请执行以下操作:

 pip install jsonfield

安装后,执行:

 from jsonfield import JSONField
from django.db import models

class Question(models.Model):
question_text = JSONField(max_length=200)
pub_date = models.DateTimeField('date published')

原文由 Ankur Gupta 发布,翻译遵循 CC BY-SA 3.0 许可协议

models 模块中没有 JSONField ,你需要:

 from django.contrib.postgres.fields import JSONField

class Question(models.Model):
    question_text = JSONField()

关于 JSONField 的 Django 文档。

原文由 Shang Wang 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题