Django - 使用FormWizard拆分大型模型

时间:2010-01-12 14:57:45

标签: django django-forms

我是一个试图完成下面任务的python / django新手。任何帮助将不胜感激。 我有一个大约50个左右的领域的模型。我需要打破它们并提供类似向导的功能。

类ABC(models.Model):    field_1 = models.IntegerField('Field 1')    field_2 = models.CharField('Field 2')    ..    ..    field_50 =

现在在我看来,我创建了几个带有字段子集的表单,如此

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个表单的FormWizard时,会存储5条记录。我的问题是如何将其保存到一个记录中?

1 个答案:

答案 0 :(得分:2)

问题不在于您的表单定义,而在于您如何调用它们。当您致电WizardPage2时,您需要传递由WizardPage1保存的模型实例,以便它在正确的对象上运行。

此外,您的模型几乎肯定会分成几个表。我无法想象一个设计良好的物体本身就足以需要50个场。寻找单独的功能区域,并将它们分成其他模型。它会让你的生活更轻松。