Django - разделить большую модель с помощью FormWizard - PullRequest
0 голосов
/ 12 января 2010

Я новичок в Python / Django, пытающийся выполнить задачу ниже. Любая помощь будет оценена. У меня есть модель около 50 или около того полей. Мне нужно разбить их и предоставить мастеру, как функциональность.

класс ABC (моделей. Модель): field_1 = models.IntegerField ('Поле 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')

Когда я создаю FormWizard, скажем, с 5 формами, 5 записей сохраняются. Мой вопрос: как мне сохранить это в одной записи?

1 Ответ

2 голосов
/ 12 января 2010

Проблема не в определениях ваших форм, а в том, как вы их называете. Когда вы вызываете WizardPage2, вам нужно передать экземпляр вашей модели, который был сохранен с помощью WizardPage1, чтобы он работал на соответствующем объекте.

Кроме того, ваша модель почти наверняка должна быть разбита на несколько таблиц. Я не могу думать о хорошо спроектированном объекте, который сам по себе достаточно 50 полей. Ищите отдельные области функциональности и разделяйте их на другие модели. Это сделает вашу жизнь проще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...