如何在formwizard中的done方法中访问form_list中的表单?

时间:2018-10-10 14:32:23

标签: django django-forms django-views formset formwizard

from views.py

def done(self, form_list, **kwargs):
        user = self.request.user
        resumes = form_list[0]
        resumes.user = user
        resumes.save()
        return HttpResponseRedirect(reverse('resumes:my-resumes'))

来自forms.py

class ResumeForm(ModelForm):
    class Meta:
        model = Resume
        fields = ['name', ]

来自models.py

class Resume(models.Model):
    name = models.CharField(max_length=255)
    created_at = models.DateTimeField(auto_now_add=True, editable=False)
    updated_at = models.DateTimeField(auto_now=True)
    user = models.ForeignKey(User, on_delete=models.CASCADE)

    def __str__(self):
        return self.name

嗨,我正在尝试在向导视图中配置完成方法(扩展了SessionWizardView)。我想访问form_list中的第一个表单,但这会引发错误?我在做什么错了?

我正在尝试在保存用户之前将其插入模型表单(恢复需要用户外键)。我还将需要在向导表单的其他步骤中插入恢复外键。

任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

有这样的方法: get_form_step_data

,并且您必须传递步骤表单的名称。