如何在django中自定义下拉列表表单元素?

时间:2015-06-16 10:58:08

标签: python django forms

我正在django中创建一个应用程序,我遇到了下一个问题:

我在django中创建了一个表单类,如下所示:

class A(forms.ModelForm):

    class Meta:
        model = ModelA

这样,表单将显示一个包含modelA中所有元素的下拉列表,但我想要做的是过滤器;我的意思是,我希望下拉列表不显示所有元素。我只想显示modelA中具有attribute1 = '1'attribute1的属性modelA)的值的元素。

有可能吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

不知道你要过滤哪个字段,但你可以这样做:

class A(forms.ModelForm):
    class Meta:
        model = ModelA

    def __init__(self, *args, **kwargs):
        super(A, self).__init__(*args, **kwargs)
        self.fields['your_field'].queryset = self.fields['your_field'].queryset \
                .filter(some_filter_value=1)