JSONField自定义错误消息

时间:2017-01-05 06:24:53

标签: json django

我正在查看我正在研究的应用程序,它使用JSONField来模拟模型中的json条目。

json_config = JSONField(blank=True)

我注意到如果我在django admin中编辑模型,如果json无效,该字段将返回以下消息

  

输入有效的JSON

这是好的但不完全有用,因为我有时不知道JSON中错误的确切位置。例如,如果我对看起来像json对象的字符串使用simplejson.loads(),它会返回一条消息,指示行和字符在哪里发生错误。

  

无效的控制字符u'\ r'at:第5行第16列(字符78)

我找不到与JSONField类似的东西。有办法吗?

由于

2 个答案:

答案 0 :(得分:0)

一种方法是覆盖模型的clean方法并检查那里的json以返回有用的消息。

如果您只想通过管理界面编辑json,我发现the django-jsoneditor非常有帮助。

答案 1 :(得分:0)

它有点晚了,但我为此做的是,在表单本身上,我使用了一个TextField,其输入然后传递给simplejson.loads(),然后返回我需要的错误消息表格。一旦所有内容都使用json检出并且是valud,我将simplejson.loads()的内容传递给JSONField进行保存。