我有一个模特的表格。根据“property_type”,将为“property_values”动态构建(或多个)不同的字段。结果HTML表单是正确的,但不会从实例中选择“属性值”的多选字段的选项。
我的表格是:
class MyForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
if 'instance' in kwargs:
if self.instance.property_type == models.Property.RANGE:
self.fields['property_values'] = forms.MultipleChoiceField(
choices=(
('lt', '<'),
('eq', '='),
('gt', '>')
)
)
self.fields['property_values'].label = 'Value'
class Meta:
model = models.Property
fields = ['property_type', 'property_values']
labels = {
'property_type': 'Type',
}
widgets = {
'property_type': forms.Select(),
}
在数据库中,字段property_values为:['eq', 'gt']