1

私はdjangoとajaxでアンケートを作成したいと思います。調査作成ページでは、各調査ごとに複数のオプションを追加できます。ユーザーは4つのオプションを追加したり、10のオプションまたはその他のオプションを追加することができます。 すべてのオプションは文字列で、forms.CharField()で検証したいと考えています。そこで、私はForm以下を作成して検証しました。djangoで何度も送信されるフィールドを検証する方法は?

class SurveyOptionForm(forms.Form): 
    option = forms.CharField(max_length=50) 

このフォームで複数のオプションを検証するにはどうすればよいですか?またはより良い方法があれば、それは何ですか?

+0

それにはforeignkキーを使用しますか? –

+0

はい、私は調査をテーブルに保存し、オプションテーブルの最初のフィールドは 'ForeignKey(Surveys)'です。 – msln

答えて

0

よくお読みくださいformset hereについては、modelformsetを使用してデータベースread more hereにオプションを保存してください。次に、あなたのような調査のオプションを追加することができます:

# don't save to the database 
>>> instances = formset.save(commit=False) 
>>> for instance in instances: 
...  # do something with instance 
...  option = instance.save(commit=False) 
...  option.survey = your_suervey_object 
...  option.save() 

あなたはいくつのフォームが通過するかを指定することができます。あなたは別の入力を追加または表示するボタンを追加するためにjavascriptを使用することができます

関連する問題