2012-01-19 2 views
3

ModelForm에서 ModelMultipleChoiceField의 쿼리 세트를 업데이트하려고합니다. ModelForm 인ModelForm에서 ModelMultipleChoiceField의 쿼리 세트를 동적으로 업데이트하십시오.

BaseWriteForm 내 클래스는 다음과 같습니다 : 나는 데이 경우

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'객체가 더 속성 '필드'

감사가 있습니다!

답변

9

super() call() 다음에 이동하십시오.

def __init__(self, users_list, **kw): 
    super(BaseWriteForm, self).__init__(**kw) 
    self.fields['recipients'].queryset = User.objects.filter(pk__in=users_list) 
관련 문제