Динамически обновлять набор запросов ModelMultipleChoiceField в ModelForm - PullRequest
3 голосов
/ 19 января 2012

Я пытаюсь обновить набор запросов ModelMultipleChoiceField в ModelForm.

BaseWriteForm - это ModelForm, мой класс выглядит следующим образом:

class MyWriteForm(BaseWriteForm):
    """The form for an authenticated user, to compose a message."""

    recipients = forms.ModelMultipleChoiceField(label=_('To'), 
                                                widget=forms.SelectMultiple(attrs={'class': 'chzn-select'}),
                                                queryset = User.objects.all())


    def __init__(self, users_list, **kw):
        self.fields['recipients'].queryset = User.objects.filter(pk__in=users_list)

        super(BaseWriteForm, self).__init__(**kw)


    class Meta(BaseWriteForm.Meta):
        fields = ('recipients', 'subject', 'body')

В этом случае у меня: Объект 'MyWriteForm' не имеет атрибута 'fields'

Спасибо!

1 Ответ

9 голосов
/ 19 января 2012

Просто переместите его после вызова super() ().

def __init__(self, users_list, **kw):
    super(BaseWriteForm, self).__init__(**kw)
    self.fields['recipients'].queryset = User.objects.filter(pk__in=users_list)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...