2010-01-12 4 views
0

저는 아래 작업을 수행하려고하는 python/django 초보자입니다. 어떤 도움이라도 대단히 감사하겠습니다. 약 50 개 정도의 필드가있는 모델이 있습니다. 나는 그들을 분해하고 기능 같은 마법사를 제공해야합니다.Django - FormWizard를 사용하여 큰 모델 분할

클래스 ABC (models.Model) 지금 field_1 models.IntegerField = ('필드 1') field_2 models.CharField = ('필드 2') .. .. field_50 =

5 개 형태의 말에 나는 FormWizard를 만들 때 내보기에 내가 그렇게

class WizardPage1(forms.ModelForm): 

    def clean(self): 
     cleaned_data = self.cleaned_data 

     return cleaned_data 
    class Meta: 
     model = ABC 
     fields = ('field_1', 'field_2', 'etc') 


class WizardPage2(forms.ModelForm): 

    def clean(self): 
     cleaned_data = self.cleaned_data 

     return cleaned_data 
    class Meta: 
     model = ABC 
     fields = ('field_11', 'field_12', 'etc') 

같은 필드의 부분 집합으로 여러 형태를 만들어, 5 개 기록을 저장하세요. 내 질문은이 레코드를 한 레코드에 저장하는 방법입니다.

+0

답변 해 주셔서 감사합니다. 나는 분명히 제안을 체크 아웃 할 것이다. 신청서가 설문지이기 때문에 50 개의 입력란이 있어야하며 입력란을 분할하는 방법을 생각할 수 없습니다. 50 개 필드 중 일부 또는 전부에 데이터가있을 수 있으며이를 여러 테이블로 분할 할 방법이 없습니다. 다시 제안을위한 Thangs. –

답변

2

문제는 양식 정의에있는 것이 아니라 호출 방법에 있습니다. WizardPage2에 전화 할 때는 WizardPage1으로 저장 한 모델의 인스턴스를 전달하여 올바른 개체에서 작동하도록해야합니다.

또한 모델은 거의 확실하게 여러 테이블로 분할되어야합니다. 나는 잘 설계된 객체가 50 개 필드를 필요로하기에 충분히 복잡하다고 생각할 수 없다. 별도의 기능 영역을 찾아 다른 모델로 분리하십시오. 그것은 당신의 인생을 더 쉽게 만들 것입니다.

+0

예, 예, 특히 두 번째 부분. 50 개의 필드가있는 모델을 가지고 있다면 하나의 모델에 묶인 많은 객체 또는 일대 다 필드를 사용해야하는 하나의 모델을 얻었을 것입니다. – Tom