ModelForm에 인스턴스가 주어진 것처럼 사용자가 initial
에 제공 한 모든 값을 무시하고 대신 인스턴스의 값으로 설정합니다 인스턴스는 빈 모델 레코드입니다.인스턴스가 주어질 때 ModelForm의 초기 값을 설정하는 방법
인스턴스가 및 인 양식을 만드는 방법은 초기 데이터를 설정 했습니까?
관련 레코드를 저장하고있어 ModelForm에 인스턴스를 만들지 않으면 올바르게 저장되지 않기 때문에이 파일이 필요합니다.
나는 이것에 대한 답이 간단하고 확실한 무엇인가를 놓치고 있다고 확신한다. 뷰
:
여기서 중요한 코드
form = form_class(person=person, conference=conference, initial=initial, instance=registration)
form_class은
RegistrationForm
후 등록 형태
:
class RegisterForm(forms.ModelForm):
... fields here ...
def __init__(self, *args, **kwargs):
... other code ...
self.person = kwargs.pop('person')
super(RegisterForm, self).__init__(*args, **kwargs)
for key, in self.fields.keys():
if hasattr(self.person, key):
self.fields[k].initial = getattr(self.person, key)
그럼 필드를 호출 할 때 관련 필드는 비어 있습니다.
그런 다음 당신이 당신의 자신의 대답 – karthikr
을 받아 들여야 "당신은 두 가지의 답변을 받아 들일 수 일. " :) –
슈퍼 생성자를 호출하기 전에 self.fields가 없습니다. – Daria