Мастер форм Django 1.4 с набором форм

Я хочу использовать набор форм в мастере форм.

class Model1(models.Model):
    customerid = models.CharField(max_length=20)
    Name = models.CharField(max_length=40)

class Model1Form(ModelForm):
    class Meta:
            model = Model1

class Model2(models.Model):
    product = models.CharField(max_length=100)
    price = models.DecimalField(max_digits=5, decimal_places=2)

class Model2Form(forms.Form):
    product = forms.ModelChoiceField(queryset=Model2.objects.all())
    amount = forms.IntegerField(required=False)

Model2Formset = formsets.formset_factory(Model2Form)

В моем urls.py:

    (r'^testwizard/$', TestWizard.as_view([Model1Form, Model2Formset])),

Я использую базовый вид, чтобы увидеть результаты публикации формы:

class TestWizard(SessionWizardView):
def done(self, form_list, **kwargs):
    return render_to_response('template', {
        'form_data': [form.cleaned_data for form in form_list],
    })

Когда набор форм имеет несколько записей, я вижу только одну запись:

 {'customerid': u'7676', 'Name': u'7', 'klantnummer': u'7'} [{'product': <Model2: Bike>, 'amount': 7}]

Я ожидал:

{'customerid': u'7676', 'Name': u'7', 'klantnummer': u'7'} [{'product': <Model2: Bike>, 'amount': 7},{'product': <Model2: Plane>, 'amount': 5}]

В документации встречается это:

WizardView поддерживает ModelForms и ModelFormSets. В дополнение к initial_dict метод >as_view() принимает аргумент instance_dict, который должен содержать экземпляры >ModelForm и ModelFormSet. Как и в случае с initial_dict, эти значения ключа словаря должны > совпадать с номером шага в списке формы.

К сожалению, я не уверен, что здесь имеется в виду.


person het.oosten    schedule 13.07.2012    source источник
comment
Я забыл упомянуть, что я использую набор форм jQuery для отображения дополнительных полей в шаблоне. Только с формсетом (без formwizard) все работает нормально.   -  person het.oosten    schedule 13.07.2012


Ответы (1)


Это не сработало, потому что мне нужен встроенный набор форм, задокументированный здесь: https://docs.djangoproject.com/en/dev/topics/forms/modelforms/#using-an-inline-formset-in-a-view

person het.oosten    schedule 28.08.2012