Django将所选对象从表单传递到另一个表单

时间:2014-03-29 21:55:28

标签: python django forms object send

我有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))

Step 2 Step 3

1 个答案:

答案 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))