2

クエリセットが入力された複数選択フィールドを作成しようとしています。

私のフォームは次のようになります。

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)

選択は問題なく表示されます。

クエリセットがウィジェットに割り当てられないのはなぜですか?

4

1 に答える 1

13

MultipleChoiceFieldqueryset引数を受け入れませんが、受け入れchoicesます: https://docs.djangoproject.com/en/1.5/ref/forms/fields/#multiplechoicefield

ModelMultipleChoiceFieldはクエリセットを受け入れます。

于 2013-08-21T18:36:45.713 に答える