Уведомления

Группа в Telegram: @pythonsu

#1 Март 29, 2013 16:46:40

Andrew_Lvov
Зарегистрирован: 2013-03-05
Сообщения: 19
Репутация: +  1  -
Профиль   Отправить e-mail  

FormWizard с формой из двух моделей

Ищу двух моделей с приятными формами….. Брррр, не то!
Пытаюсь в одном шаге FormWizard'а показать форму для 2х-моделей.

То есть,

есть User, Profile, PhysParams.
Profile, PhysParams содержат OneToOne ключ к User.
Я хочу отобразить форму для залогиненого пользователя, в к-рой будут поля как для Profile, так и для PhysParams.

Пока пробовал

InlineFormSet(User, Profile, PhysParams), ModelFormSet(Profile, PhysParams).
Выдаёт:
KeyError at /registration_form/
u'__module__'
Request Method: POST
Request URL: http://localhost:8000/registration_form/
Django Version: 1.5
Exception Type: KeyError
Exception Value:
u'__module__'


Если создавать отдельно формы, а потом их объединять
JoinedFormSet = formset_factory(ProfileForm, PhysicalParamsForm)

то FormWizard выдаёт только поля 2й формы (PhysParams).
И то мне этот подход не очень нравится.

В общем, как это всё красиво скомпоновать ?

Офлайн

#2 Март 30, 2013 12:35:25

ssv1
Зарегистрирован: 2012-12-22
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

FormWizard с формой из двух моделей

Я пока новичёк, но попробую подсказать..

В вашем случае наверное можно использовать model formsets или же сделать множественное наследование.

#model formsets
class user_form(forms.Form):
    ...
class profile_form(user_form):
    ...
class physparams_form(profile_form):
    ...

# множественное наследование
class physparams_form(user_form, profile_form):
    ...

В обоих случаях physparams_form будет обладать всеми полями.

Офлайн

#3 Март 31, 2013 08:04:51

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

FormWizard с формой из двух моделей

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version