我有2页。第2步和第3步。我要做的是将所选对象从第2步表单传递到第3步表单,以便我可以过滤第3步表单的对象。您可以在下面的图片中看到2页/表格。因此,当用户在步骤2中选择大学时,步骤3必须仅显示所选大学的课程。
我目前的代码非常简单,因为我删除并重写了过去几天没有结果的代码。
views.py
def step2(request):
universities = University.objects.order_by('name').distinct()
return render_to_response("registration/step2.html", {'universities': universities}, RequestContext(request))
def step3(request):
courses = Course.objects.order_by('name')
return render_to_response("registration/step3.html", {'courses': courses}, RequestContext(request))
答案 0 :(得分:2)
在您的视图中,您必须检索用户所做的选择,并使用它来过滤下一个表单的选项。类似的东西:
form = FirstForm(request.POST)
if form.is_valid():
uni = form.cleaned_data['uni']
courses = Course.objects.filter(university__name=uni).order_by('name')
return render_to_response("registration/step3.html", {'courses': courses}, RequestContext(request))