【发布时间】:2018-07-30 23:50:46
【问题描述】:
我使用form wizard 创建基于 2 个模型的多步骤表单。
models.py:
class Author(models.Model):
refCode = models.IntegerField(unique=True)
lastName = models.CharField(max_length=20)
firstName = models.CharField(max_length=20)
birthDate = models.DateField()
description = models.TextField()
style = models.ForeignKey(Style)
class Book(models.Model):
refCodeAuthor = models.ForeignKey(Author)
title = models.CharField(max_length=100)
summary = models.TextField()
view.py:
class AuthorWizard(SessionWizardView):
form_list = [AuthorForm, DescriptionForm, BookForm]
def done(self, form_list, form_dict, **kwargs):
form_values={}
for form in form_list:
form_values.update(form.cleaned_data)
auth = Author(**form_values)
auth.save()
return render(self.request, 'done.html', {
'form_values':form_values,
})
我有3个步骤,对应form_list
当我在BookForm 上时,我不想显示refCodeAuthor,而是在步骤AuthorForm 中使用refCode 的值自动填充此字段。
用户创建一个作者,然后他添加他的书。他不必选择refCodeAuthor,尽管它不在同一个型号中。
我怎样才能做到这一点?
【问题讨论】:
标签: django django-models django-forms django-views django-formwizard