data_type
親フォームで定義されているサブクラスの特定のフィールド (Select ウィジェットを使用する) を除外したいと考えています。私は次のようにクラスを定義しました:
class ParentForm(forms.ModelForm):
data_type = forms.CharField(widget=forms.Select(choices=ANNOTATION_TYPES))
class Meta:
model = Annotation
fields = ('data_value','data_type','active','primary_source')
exclude = ()
class DetailForm(ParentForm):
class Meta(ParentForm.Meta):
exclude = ('data_type','primary_source')
これは問題ないようです:
print DetailForm.Meta.exclude
('data_type', 'primary_source')
ただし、HTML を印刷すると、まだフィールドが表示さdata_type
れDetailForm
ます (他の除外フィールドは表示されませんprimary_source
)。
print DetailForm(None)
HTML:
<tr><th><label for="id_data_value">Data value:</label></th>..
<tr><th><label for="id_active">Active:</label></th>....
<tr><th><label for="id_data_type">Data type:</label></th><td>
<select name="data_type" id="id_data_type">
<option value="Comment1">Subcellular location</option>
<option value="Comment2">Function</option>
<option value="Comment3">Sequence caution</option>
</select></td></tr>
data_type
の定義方法に問題があるようです。何か案は?