2009-11-06 61 views
0

我有以下的ModelForm:Django的形式不渲染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輸出?我查看了源代碼,但找不到任何緩存。我究竟做錯了什麼?

回答