Две формы для одной модели - PullRequest
1 голос
/ 20 октября 2011

У меня есть модель Django, подобная этой:

class Something(models.Model):
    attr1 = models.IntegerField()
    attr2 = models.IntegerField()
    attr3 = models.IntegerField()

И я хочу создать форму для создания объектов Something , но я хочу сделать это с помощью WizardForm, поэтому я разделил «большую форму» на две формы, например:

class Form1(forms.ModelForm):
    class Meta:
        model = Something
        exclude = ('atrr3',)


class Form2(forms.ModelForm):
    class Meta:
        model = Something
        fields = ('atrr3',)

Таким образом, оба вместе составляют полную форму модели. Итак, вот мой вопрос: есть ли способ сохранить их вместе и создать из них один Нечто-объект ?

Ответы [ 2 ]

3 голосов
/ 20 октября 2011

После долгих поисков я нашел ответ на свой вопрос.Я опубликую это для тех, у кого такая же проблема:

Если у вас есть более одной формы и вам нужно объединить их для создания объектов модели, вы можете сделать что-то вроде этого:1004 *

Я думаю, это простое и довольно хорошее решение.

1 голос
/ 20 октября 2011

Вы действительно пробовали Мастер форм Джанго ?

Как указано в документе:

После того, как пользователь отправил все формы и все данныеПосле проверки мастер обрабатывает данные - сохраняет их в базе данных, отправляет электронную почту или выполняет все, что требуется приложению.

Хотя, вероятно, имеет смысл использовать переписанный мастер, который будетбыть включенным в 1.4:

http://django -formwizard.readthedocs.org / en / latest / index.html

инструкции по использованию очень просто.

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