2009-11-06 5 views
0

I 다음 ModelForm 있습니다장고 양식 ModelChoiceField의 쿼리가 설정 렌더링하지

class AttendanceForm(forms.ModelForm): 
    def __init__(self, *args, **kwargs): 
     operation_id = kwargs['operation_id'] 
     del kwargs['operation_id'] 
     super(AttendanceForm, self).__init__(*args, **kwargs) 
     self.fields['deployment'].query_set = \ 
      Deployment.objects.filter(operation__id=operation_id) 

    class Meta: 
     model = Attendance 

내가 수동으로 (manage.py 쉘을 사용) 쉘에있는 양식을 만들

form = AttendanceForm(operation_id=1) 
form.fields['deployment'].query_set 

가 올바른을 반환합니다 query_set,하지만 전화 할 때

form.as_p() 

나는 query_set에없는 추가 항목을 얻습니까? django는 어떻게 든 html 출력을 캐시합니까? 소스를 살펴 보았지만 캐싱을 찾을 수 없습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변

4

매개 변수는 queryset이며 query_set이 아닙니다. the documentation을 참조하십시오.