사용자가 Modelform을 사용하여 first_name과 last_name을 편집하고 있는데 UserProfile의 추가 필드가 필요합니다 (1 대 1 사용자와의 관계)가 추가되었습니다. Django : 하나의 양식 정의에서 두 모델의 필드 데이터를 시작/수집하는 방법
class UserProfileInfoForm(forms.ModelForm):
""" Profile Model field specifications for edit.
"""
class Meta:
model = User
fields = ('first_name', 'last_name', 'user_phonemobile')
first_name = forms.CharField(
label = _('First name'),
max_length = 30,
required = True
)
last_name = forms.CharField(
label = _('Last name'),
max_length = 30,
required = True
)
user_phonemobile = forms.CharField(
label = _('Mobile phone'),
max_length = 15,
required = False,
)
은 내가 ModelForm의 추가 필드를 (그리고 페이지에 표시)하지만 난 그게 다른 모델 (USERPROFILE)의 값으로 채울 얻을 수 없습니다. 그것을 할려고 노력했습니다
init의 modelform하지만 지금까지 행운을 subclassing.
나는 당연히 그것은 정상적인 형태로 만들어 내보기
userdata = request.user.get_profile()
data = {
'first_name': request.user.first_name,
'last_name': request.user.last_name,
'user_phonemobile': userdata.user_phonemobile,
}
profileinfoform = UserProfileInfoForm(data)
이처럼 그것을 채울 그러나 향후 추가 필드를 추가 할 때이 내 시야 정의를 혼란 것처럼 느낀다 수 있습니다.
감사합니다.
Gerard.
안녕하세요 akaihola,이 방법이 가장 쉬웠을 것 같습니다. 이 예제에서 user_form과 profile_form은 ModelForms라고 가정합니다. – GerardJP
@GerardJP 예. 먼저 두 가지를 모두 확인한 다음 저장하십시오. – akaihola