2017-01-05 1 views
0

私は現在、モデルのjsonエントリ用にJSONFieldを使用しているアプリケーションをレビューしています。JSONFieldカスタムエラーメッセージ

json_config = JSONField(blank=True) 

は、私は次のようなメッセージを私はDjangoの管理者でモデルを編集することだし、JSONが無効である場合、フィールドが返した場合

がある有効なJSON

を入力していることに気づきましたJSONのどこにエラーがあるのか​​分かりませんたとえば、jsonオブジェクトのように見える文字列にsimplejson.loads()を使用すると、エラーが発生している行と文字がどこにあるかを示すメッセージが返されます。私はJSONFieldのためのそれに似た何かを見つけることができませんでした行5列16(CHAR 78)

uが無効な制御文字で 'は、rを\します'。私はそれを行う方法がありますか?

おかげで

+0

これはpostgresql jsonfieldまたはサードパーティの拡張機能ですか? – e4c5

+0

私はそれがdjango-jsonfieldだと思っています https://pypi.python.org/pypi/jsonfield – jerick

答えて

0

これは少し遅いですが、これはフォーム自体にTextFieldを使用していましたが、その入力はsimplejson.loads()に渡され、フォームに必要なエラーメッセージが返されます。すべてがjsonでチェックアウトされ、評価がついたら、simplejson.loads()の内容をJSONFieldに渡して保存します。

0

一つのアプローチは、モデルのごcleanメソッドをオーバーライドして、有用なメッセージを返すためにそこにJSONにチェックすることです。

adminインターフェイスを使用してjsonを編集する場合は、the django-jsoneditorが非常に役に立ちます。

+0

私はこのレミを見ていきます。ありがとう – jerick

+0

こんにちは@レミ。私はジャンゴ・jsoneditorを試してみたが、私はDjangoの管理をチェックしていたとき、スタイリングが間違って出てきた https://i.stack.imgur.com/uv3uO.png それはここのようになりませんでした ます。https:/ [ジャンゴ-jsoneditor]から/camo.githubusercontent.com/a1df47e8e574e0de60ce742891524c85edd09477/68747470733a2f2f7261772e6769746875622e636f6d2f6a6f7364656a6f6e672f6a736f6e656469746f722f6d61737465722f6d6973632f6a736f6e656469746f722e706e67 (https://github.com/nnseva/django-jsoneditor)。私はそれを正しく設定しましたが。ボタンは機能しますが、ラベルは間違っています – jerick

関連する問題