django中的多项选择字段不显示queryset

webghufk  于 2023-11-20  发布在  Go
关注(0)|答案(1)|浏览(88)

我试图创建一个由查询集填充的多项选择字段。
我的表单看起来像这样:

class GroupLocationForm(forms.Form):
    groups_field = forms.MultipleChoiceField(required=False, 
                                    widget=forms.CheckboxSelectMultiple)

    def __init__(self, customer_id, group_id):
        super(GroupLocationForm, self).__init__()
        customer = Customer.objects.get(pk=customer_id)

        self.fields['groups_field'].queryset = Group.objects.filter(location__customer = customer).distinct()

字符串
在我的表单中没有任何选项。如果我添加:

MY_CHOICES = (
                  (1,'choice 1'),
)

groups_field = forms.MultipleChoiceField(required=False, 
                                    widget=forms.CheckboxSelectMultiple, choices=MY_CHOICES)


选择显示没有任何问题。
为什么我的查询集没有被分配给小部件?

tvokkenx

tvokkenx1#

MultipleChoiceField不接受queryset参数,但接受choices:https://docs.djangoproject.com/en/dev/ref/forms/fields/#multiplechoicefield
ModelMultipleChoiceField接受查询集。

相关问题