0

我有一个模型的表格。根据“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']

在此处输入图像描述

4

0 回答 0