Я разрабатываю мастер с использованием Formwizard, который соответствует одной модели.Также из-за отношений между моей моделью и другими моделями я использую inlineformset_factory, чтобы поля присутствовали в шаблоне.
Я создал 2 формы с той же моделью для атрибута модели.Я только что изменил атрибут fields, чтобы дифференцировать 2 формы, которые я использую в своем мастере.
На данный момент, чтобы сохранить информацию о формах в моем мастере, я делаю это:
def done(self, request, form_list):
instance = Sale()
for form in form_list:
for field, value in form.cleaned_data.iteritems():
setattr(instance, field, value)
instance.save()
Это работает хорошо, но не сохраняет мои inlineformsets
Поэтому я добавил это в готовый метод:
picture_formset = ProductPictureFormset(request.POST, instance=instance)
if picture_formset.is_valid():
picture_formset.save()
Но когда я делаю это, у меня появляется эта ошибка в Django:
Exception Type: ValidationError
Я заметил, что мои данные, содержащиеся в моих встроенных наборах форм, не передаются между этапами.Вот как я сейчас добавляю встроенный набор форм в мой мастер:
def parse_params(self, request, *args, **kwargs):
if self.step == 0:
self.extra_context.update({
'picture_formset': ProductPictureFormset(),
'brand_attribute_formset': BrandAttributeFormset()
})
Но, похоже, мне нужно найти способ передать данные, полученные в этих формах, на второй шаг.
Есть идеи, как это сделать?
Спасибо!