DJANGO-フォーム内から現在のモデルインスタンスにアクセスする方法

StackOverflow https://stackoverflow.com/questions/1040887

  •  22-07-2019
  •  | 
  •  

質問

class EditAdminForm(forms.ModelForm):
    password = username.CharField(widget=forms.TextInput())
    password = forms.CharField(widget=forms.PasswordInput())
    password_confirm = forms.CharField(widget=forms.PasswordInput(), initial=???)

ここで、私がやろうとしていることを確認できます。 pasword_confirmフィールド(モデルの一部ではありません)に事前入力する方法を教えてください。とても混乱しています。

役に立ちましたか?

解決

インスタンス化するまで存在しないため、フォーム宣言でインスタンスにアクセスできません。

ただし、動的な初期データを設定するだけの場合は、インスタンス化時に initial パラメーターを使用してこれを行います。

form = EditAdminForm(initial={'password':'abcdef'})

他のヒント

EditAdminFormで __ init __ メソッドを定義できます。

次のようなもの:

class EditAdminForm(forms.ModelForm):
    username = forms.CharField(widget=forms.TextInput())
    password = forms.CharField(widget=forms.PasswordInput())
    def __init__(self, initial_from, data=None, initial=None)
        sefl.fields['password_confirm'] = forms.CharField(widget=forms.PasswordInput(), initial=initial_from)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top