17

私はdjangoフォームを持っており、ビュー関数でこれを行います:

search_packages_form = SearchPackagesForm( data = request.POST )

次のように宣言されている price というフォーム フィールドを上書きしたいと思います。

price = forms.ChoiceField( choices = PRICE_CHOICES, required = False,widget = forms.RadioSelect )

呼び出す前にフォームフィールドを上書きしたいsearch_packages_form.is_valid()

私はやろうと思った:

search_packages_form.data['price'] = NEW_PRICE

しかし、うまくいきません。何か案は ?

4

4 に答える 4

0

form.is_valid()フォーム (および の場合はモデルModelForm)cleanのメソッドを実行し、返すTrueか、False

フォーム データの変更を計画している場合は、一般的な clean メソッド内またはフィールド レベルで行うことができます。

class YourForm(DerivingClass):
    # regular stuff

    def clean_<ATTR>(self):
        # here
        return self.cleaned_data

    def clean(self):
        # or here
        return super(YourForm, self).clean()
于 2013-08-30T13:45:12.297 に答える