私はいくつかのフィールドを持つModelFormを持っています。いくつかのフィールドは必須であり、いくつかは必要ありません。また、私は別の選択肢を持つSelectフィールドを持っており、このSelectフィールドの選択に基づいてフィールドのいくつかを「必須」にしたいと思っています。Djangoモデルフォームは、他のフィールド選択に基づいて「必須」属性を削除します
私はフォーム
def clean(self):
cleaned_data = self.cleaned_data
some_field = cleaned_data.get("some_field")
if some_field == 'some_value':
self.fields['other_field'].required = False
return cleaned_data
のクリーン()メソッドにしようとしたが、それは
感謝を。このアイデアは私にそれを手伝ってくれました! – Igor
私は同様の検証(Django 1.4)を行う必要がありますが、私がテストしているフィールドは読み取り専用なので、私はcleaned_data(btw - 私は管理者でそれをやっています)にはありません。どのようにこの読み取り専用フィールドの値にアクセスするための任意のアイデア? 10x – Lin
解決策を見つけました - form.instanceにすべての関連データがあり、変更されたデータはform.changed_dataに含まれています – Lin