2012-03-13 2 views
6

장고 양식과 관련된 특정 문제가 있습니다. 해결책은 이미 작성되어 있어야합니다.django formset의 이기종 양식

내가 좋아하는 ... (죄송합니다 지금에 대한 의사 코드를 사용하여) 같은보기 일에 제출 된 다른 형태의 몇 가지있다 .. 그렇다

class Form1(): 
    #different attributes 

class Form2() 
    #different attributes 

<html> 
    <form> 
    {{ 1-instance-Form1 }} 
    {{ 2-instance-Form1 }} 
    {{ 1-instance-Form2 }} 
    {{ 2-instance-Form2 }} 
    </form> 
</html> 

에서 사용자가 jquery를 통해 사용할 수있는 양식 클래스 중 하나의 양식 인스턴스를 추가 할 수 있도록 양식을 만들 수 있도록 양식을

<html> 
    <form> 
    {{ 1-instance-Form1 }} 
    {{ 2-instance-Form1 }} 
    {{ 1-instance-Form2 }} 
    {{ 2-instance-Form2 }} 
    {{ 3-instance-Form2 }} 
    </form> 
</html> 

이제 이러한 문제를 해결할 수있는 솔루션을 찾고자하면서 문서가 설명하는대로 Django formset이라는 개념을 발견하게되었습니다.이 개념은 동일한 Form 클래스의 인스턴스 모음입니다. 그러나 나는 formsets뿐만 아니라 이질적인 형태를 처리 할 수있는 능력을 가질 수 있습니다 볼 수 있습니다 : 어떤 정의와

class BaseHeterogenousFormSet(StrAndUnicode): 

    def append(form): 
    #add one more form to the formset 

    def is_valid(): 
    #run is_valid for each of the forms in the formset 

    def clean(): 
     #run the clean for each of the forms ... 

나는이 문제에 대해 생각하고있는 방법에 문제가 변경?

답변

5

는 동일한보기로 하나 이상의 해당 formset를 제출할 수 있습니다,하지만 당신은

하나 개의 formset이 Form1의 인스턴스를 처리하고 다른 해당 formset는 형식 2의 인스턴스를 처리 (https://docs.djangoproject.com/en/1.6/topics/forms/formsets/#using-more-than-one-formset-in-a-view)

충돌 이름을 방지 할 필요가있다.

+0

링크 업데이트 : https://docs.djangoproject.com/en/1.10/topics/forms/formsets/#using-more-than-one-formset-in-a-view –

관련 문제