我一直在思考如何添加FormWizard视图,例如将NamedUrlSessionWizardView的子类添加到Detail视图。由于详细视图对象是第一种形式的字段之一,因此它是外键。我知道我可以执行FormRandomWizardView.as_view([Form1,Form2,Form3]),这使其可以调用。我的主要问题如下:
1。)在表单向导的第一种形式上将其ID或段标预先选定的选定对象,这意味着将其作为初始数据在第一种形式上传递,
2。)处理命名URL,因为NamedUrlSessionWizardView使用不同的模板。
以下是示例代码:
|---------------------|-----------------------|------------------------|
| 1 | Title Test 1 | Content test 1 |
|---------------------|-----------------------|------------------------|
| 2 | Title Test 2 | Content test 1 |
|---------------------|-----------------------|------------------------|
| 3 | Title Test 3 | Content test 1 |
|---------------------|-----------------------|------------------------|
| 4 | Title Test 4 | Content test 1 |
|---------------------|-----------------------|------------------------|
class Service(models.Model):
title = models.CharField(max_length=250)
slug = models.SlugField(blank=True, unique=True)
price = model.DecimalField(decimal_places=2)
...... other fields
class Appointment(models.Model):
service = models.ForeignKey(Service, on_delete=models.CASCADE)
date = models.DateField()
time = models.TimeField()
...... other fields
class AptForm1(forms.ModelForm):
class Meta:
model = Appointment
fields = ['service', ....otherfields ]
class AptForm2(forms.ModelForm):
class Meta:
model = Appointment
fields = ['date', 'time', ...otherfields ]
此后,我的困境开始于重写FormMixin方法,因为我无法从form_class访问formwizard中的表单步骤。任何有关如何解决此问题同时又保持formwizard url完整的建议,将不胜感激。