django1.3 + django-formwizard + начальная проблема с данными - PullRequest
0 голосов
/ 07 июля 2011

Я использую django 1.3, с django-formwizard. У меня есть WizardView с 2 ModelForms, который отлично работает в режиме создания (as_view, связанный с URL Conf) но я не могу заставить его работать в режиме редактирования. Когда я делаю в представлении:

return MyWizard.as_view([Form1,Form2], instance_dict={0:instance1, 1:instance2})(request)

экземпляр мастера отсутствует в контексте если я сделаю:

return MyWizard([Form1,Form2], instance_dict={0:instance1, 1:instance2})

я получаю: init () принимает ровно 1 аргумент без ключевого слова (2 дано)

MyWizard очень прост, в нем есть только методы get_template_names и done.

1 Ответ

0 голосов
/ 07 июля 2011

Похоже, что конструктор FormWizard принимает аргумент ключевого слова с именем initial и ничего более, что является шагом преобразования словаря в исходный набор данных.

def __init__(self, form_list, initial=None):

https://docs.djangoproject.com/en/1.3/ref/contrib/formtools/form-wizard/#providing-initial-data-for-the-forms

>>> from testapp.forms import ContactForm1, ContactForm2, ContactWizard
>>> initial = {
...     0: {'subject': 'Hello', 'sender': 'user@example.com'},
...     1: {'message': 'Hi there!'}
... }
>>> wiz = ContactWizard([ContactForm1, ContactForm2], initial=initial)
>>> form1 = wiz.get_form(0)
>>> form2 = wiz.get_form(1)
...