在Django视图内添加for循环

时间:2020-02-17 04:51:53

标签: python django loops for-loop

这是我的django视图,它的基本作用是从Html视图获取检查的数据,但是我必须在视图或模板中循环遍历每个数据,这样我不仅可以获得子测试的名称也是它的字段。Subtest是我的模型的名称,名字是它的字段

def create_test_bills(request):
    if request.method == 'GET':
        selected = request.GET.getlist('selected')
        for i in range(0,len(selected)):
            a = selected [i]
            print(selected)
            print(a)
            sub_test = Subtest.objects.filter(name=a)
    return render(request,'report.html',{'sub_test':sub_test}) 

1 个答案:

答案 0 :(得分:1)

您可以使用Django过滤器__in https://docs.djangoproject.com/en/3.0/ref/models/querysets/#in

而不是循环遍历:

def create_test_bills(request):
    if request.method == 'GET':
        selected = request.GET.getlist('selected')
        if len(selected) > 0:
           sub_test = Subtest.objects.filter(name__in=selected)
    return render(request,'report.html',{'sub_test':sub_test}) 
相关问题