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