我正在查看我正在研究的应用程序,它使用JSONField来模拟模型中的json条目。
json_config = JSONField(blank=True)
我注意到如果我在django admin中编辑模型,如果json无效,该字段将返回以下消息
输入有效的JSON
这是好的但不完全有用,因为我有时不知道JSON中错误的确切位置。例如,如果我对看起来像json对象的字符串使用simplejson.loads(),它会返回一条消息,指示行和字符在哪里发生错误。
无效的控制字符u'\ r'at:第5行第16列(字符78)
我找不到与JSONField类似的东西。有办法吗?
由于
答案 0 :(得分:0)
一种方法是覆盖模型的clean
方法并检查那里的json以返回有用的消息。
如果您只想通过管理界面编辑json,我发现the django-jsoneditor非常有帮助。
答案 1 :(得分:0)
它有点晚了,但我为此做的是,在表单本身上,我使用了一个TextField,其输入然后传递给simplejson.loads(),然后返回我需要的错误消息表格。一旦所有内容都使用json检出并且是valud,我将simplejson.loads()的内容传递给JSONField进行保存。