1
は、簡単な質問かもしれませんが、私はのModelFormを持っている場合:Django:フォームにインスタンスを渡すと、is_valid()が呼び出され、インスタンスフィールドが検証されますか?
class ExampleModelForm(forms.ModelForm):
class Meta:
exclude = ['username']
私はフォームを使用すると、私は他の場所から持っているユーザ名を挿入したいのですが、まだそれは検証を行ってみたいですプロセス。私が使用している場合:
instance = ExampleModel(username='Foobar')
form = ExampleModelForm(request.POST, instance=instance)
if form.is_valid():
form.save()
ユーザー名 'Foobar'はフォームの残りのフィールドと同じ検証を行いますか?
おかげで、
J
興味深いことに、モデルインスタンスをフォームにバインドすると実際にはどうなりますか?関連するノートでは、あなたが上記の提案をしても、フォームのメタで除外されているので、フィールドを検証しません。 – jvc26
@jvcの場合、フォームはそのインスタンスを構成するのではなく、その特定のインスタンスを編集します(つまり、ユーザー名が含まれていますが、フィールドは除外されているためフォームの検証を受けません)。はい、もちろん、ModelFormから 'username'を除外しなければなりません。 –
優れています。答えに乾杯!!除外された変数を挿入する方法はありますか、あまりにも遠すぎるのですか? – jvc26