Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在django中自定义下拉列表表单元素?_Python_Django_Forms - Fatal编程技术网

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

Python 如何在django中自定义下拉列表表单元素?,python,django,forms,Python,Django,Forms,我正在django中创建一个应用程序,我遇到了下一个问题: 我在django中创建了一个表单类,如下所示: class A(forms.ModelForm): class Meta: model = ModelA 这样,表单将显示一个下拉列表,其中包含modelA中的所有元素,但我要做的是筛选;我的意思是,我希望下拉列表不显示所有元素。我只想显示modelA中具有attribute1='1'值的元素(attribute1是modelA的属性) 可能吗 谢谢大家! 不知

我正在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)

“这样,表单将显示一个包含模型中所有元素的下拉列表a”:它不会显示。@brunodesshuilliers是正确的。此表单用于创建/编辑
ModelA
的实例。这个模型可能是另一个模型中的外键吗?是的,modelA是另一个模型中的外键在再次阅读问题后,我认为您的意思有所不同,但将等待反馈。