2013-05-19 3 views
1

여기에 의미가 있기를 바랍니다. (이유가 무엇이든간에).내 모델 양식에 비 모델 양식 필드 만들기

모델 양식비 모델 양식 필드를 만드시겠습니까? 내가 모델 양식을 아래

예를 들어, 나는 템플릿라고 모델에 포함 된없는 새 추가 필드을 추가 초기화에서 싶습니다. I 이 새 필드를 저장하지 않아도되므로 내 모델에 있거나 필요하지 않습니다. (나는 멋진 아약스를 사용하고 싶습니다.)

forms.py

class testForm(forms.ModelForm): 
    def __init__(self, user=None, *args, **kwargs): 
     super(testForm, self).__init__(*args, **kwargs) 
     if user is not None: 
      this_templates = Template.objects.for_user(user) 

     self.fields["templates"] = forms.?????????? 

답변

2

당신은 거의 다 있습니다

self.fields["templates"] = forms.CharField() 

또는 당신은 가능한 옵션에 대한 또 다른 필드 유형 검사 the documentation을 선호하는 경우.

그리고 추가 배경 정보는 Overloading Django Form Fields을 참조하십시오.

+0

다음과 같이 멋지다. 예 : self.fields [ "templates"] = forms.ChoiceField (queryset = this_templates) 그러나 오류가 발생합니다. __init __() 예기치 않은 키워드 인수가 있습니다. 'queryset' – GrantU

+0

감사합니다. , 완벽 해. – GrantU

+1

'''ChoiceField'''는'''ModelChoiceField'''가 아닙니다. ''queryset'' 대신''choices'' 인수를 취합니다. 예를 들어 이것을 확인하십시오 : http://stackoverflow.com/a/3420588/630877 – arie