我正在django中创建一个应用程序,我遇到了下一个问题:
我在django中创建了一个表单类,如下所示:
class A(forms.ModelForm):
class Meta:
model = ModelA
这样,表单将显示一个包含modelA
中所有元素的下拉列表,但我想要做的是过滤器;我的意思是,我希望下拉列表不显示所有元素。我只想显示modelA
中具有attribute1 = '1'
(attribute1
的属性modelA
)的值的元素。
有可能吗?
谢谢!
答案 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)