jsonフィールドを持つDjangoフォーム 質問する

jsonフィールドを持つDjangoフォーム 質問する

フォーム フィールドで JSON データを受け入れ、いくつかのデータベース操作を使用してそれを検証したいと考えています。データは主に整数の配列で構成されます。どうすればそれができるのか教えてください。

この件について Google で検索してみましたが、適切な回答が得られませんでした。助けてください。

ベストアンサー1

を使用してテキスト入力として取得する必要があります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 データ入力用のカスタム フィールドも見つかる場合があります。

おすすめ記事