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

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

class A(forms.ModelForm):

    class Meta:
        model = ModelA


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

可能吗?

谢谢!

最佳答案

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

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)

09-18 20:36