2010-03-05 1 views
2

Django에서 내 양식에 두 개의 모델을 사용하는 데 문제가 발생했습니다. 두 모델, 동물과 가족, 둘 다 "이름"필드가 있습니다.Django에서 양식에 두 개의 모델 사용

내 서식 파일에 두 개의 modelform을 사용하고 제출할 때 'name'의 POST 데이터는 하나의 값만 반환합니다.

내 모델에서 '이름'필드의 이름을 바꾸는 것의 짧은 방법은이 방법이 있습니까?

도움 주셔서 감사합니다. 이것은 나의 첫 번째 게시물입니다.

답변

3

모델 양식을 초기화 할 때 prefix-argument을 사용할 수 있습니다.

animal_form = AnimalForm(request.POST or None, prefix="animal") 
family_form = FamilyForm(request.POST or None, prefix="family") 

다음과 같이 출력됩니다.

<input id="id_animal-name" type="text" /> 
<input id="id_family-name" type="text" /> 
+0

awesome! 도와 주셔서 정말 감사합니다. –

0

request.POST.getlist과 동일한 이름의 다른 POST 값을 얻을 수 있습니다.

그러나 정확한 값은 양식의 입력 필드 위치에 따라 달라지며 실제로 이는 좋은 아이디어가 될 수 없습니다. 모델이 아닌 필드 클래스의 이름을 변경하십시오 (양식을 사용하기를 바랍니다).