2010-03-24 1 views
3

django에서 사용자 모델을 확장하여 위치 및 고용주와 같은 여러 변수를 포함 시켰습니다. 나는 modelform 만든Django에서 User 모델을 확장 한 후에는 어떻게 ModelForm을 만들 수 있습니까?

First name (from User) 
Last name (from User) 
Location (from UserProfile, which extends User via a foreign key) 
Employer (also from UserProfile) 

: 이제 다음 필드가있는 형태로 만들려고 해요 내가 ModelForm을 만드는 방법을 내 질문은, 그래서

from django.forms import ModelForm 
from django.contrib import auth 
from alert.userHandling.models import UserProfile 

class ProfileForm(ModelForm): 
    class Meta: 
#  model = auth.models.User # this gives me the User fields 
     model = UserProfile # this gives me the UserProfile fields 

를, 그 액세스 할 수 있습니다 User 모델 또는 UserProfile 모델 중 어느 것이 든 모든 필드에 적용됩니까?

희망적입니다. 질문이 있으면 분명히 알려 드리겠습니다.

답변

2

두 개의 모델 양식 (사용자 용과 UserProfile 용)을 만들거나 모든 필드가있는 사용자 지정 양식을 만들고보기에 디스패치 할 수 있습니다.

from django import forms 

class ContactForm(forms.Form): 
    first_name = forms.CharField() 
    last_name = forms.CharField() 
    location = forms.CharField() 
    employer = forms.CharField() 
+1

방금이 작업을 수행했습니다. 두 개의 모델 폼을 설정하고 템플릿에서 둘 다 보는 것은 매력처럼 작동합니다. – mlissner

+0

오, 내가 잊지 않도록, 도와 줘서 고마워! 이 사이트는 훌륭합니다. – mlissner

0

수 없습니다. ModelForm은 모든 필드가 단일 모델에서 온 것으로 기대합니다. Form의 하위를 만들고 모델에서 필드 정의를 가져옵니다.