20

フォームフィールドでjsonデータを受け入れ、データベース操作を使用して検証することを検討しています。データは主に整数の配列で構成されます。それで、どうすればそうできるかについて私を助けてくれませんか。

私はこれをグーグルしようとしましたが、まともな答えは得られませんでした。助けてください。

4

7 に答える 7

27

を使用してテキスト入力として取得する必要がありますCharField。また、このフィールドの clean メソッドでは、要件に従って検証して、入力が有効かどうかを確認できます。

何かのようなもの:

class myForm(forms.Form):
     jsonfield = forms.CharField(max_length=1024)

    def clean_jsonfield(self):
         jdata = self.cleaned_data['jsonfield']
         try:
             json_data = json.loads(jdata) #loads string as json
             #validate json_data
         except:
             raise forms.ValidationError("Invalid data in jsonfield")
         #if json data not valid:
            #raise forms.ValidationError("Invalid data in jsonfield")
         return jdata

JSON データ入力用のカスタム フィールドを見つけることもできます。

于 2013-01-31T13:31:52.060 に答える
2

JSONField と関連するフォーム フィールドを実装するdjango-json-fieldを確認します。

于 2013-02-17T10:46:19.063 に答える