Найти - Пользователи
Полная версия: FormWizard с формой из двух моделей
Начало » Django » FormWizard с формой из двух моделей
1
Andrew_Lvov
Ищу двух моделей с приятными формами….. Брррр, не то!
Пытаюсь в одном шаге 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).
И то мне этот подход не очень нравится.

В общем, как это всё красиво скомпоновать ?
ssv1
Я пока новичёк, но попробую подсказать..

В вашем случае наверное можно использовать 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 будет обладать всеми полями.
FishHook
http://www.sql.ru/blogs/fishhook/1281
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB