djang中的范围滤波器不工作

2024-05-14 15:53:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我想根据两个值过滤查询集。在

我想要两个数字之间的结果。我正在尝试一些代码,但它不起作用。它没有返回正确的结果。 我的代码

def project(request):
    try:

        proTitle = request.GET.get('title')
        ProDescription = request.GET.get('description')
        funAria = request.GET.get('funAria')
        femaleReq = request.GET.get('femaleReq')
        cost_gte = int(request.GET.get('cost_gte'))
        cost_lte = int(request.GET.get('cost_lte'))
    except:
        pass


    if cost_gte and cost_lte :
        list4 = []

        result = Project.objects.filter(budgeted_cost__gte=cost_gte , budgeted_cost__lte=cost_lte )
        print result
        for res in result:

            list4.append(res.project_id)
        data ={'cost result':list4}
        return HttpResponse(json.dumps(data))




return HttpResponse(json.dumps(data), content_type='application/json')

有时它会返回所有产品,有时却不返回任何产品。我不明白为什么它不起作用。在

我也试过射程

^{pr2}$

但也是做人同样的。拜托告诉我我做错了什么。在


Tags: 代码projectjsondatagetrequestresultint
1条回答
网友
1楼 · 发布于 2024-05-14 15:53:03

在python中,当您使用range时,它的意思是range1 <= i < range2,但是您要查找的过滤器是range1 <= i <= range2,因此您不应该向前看range,而应该继续

 result = Project.objects.filter(budgeted_cost__gte=cost_gte , 
budgeted_cost__lte=cost_lte ) 

以获得所需的输出。在

相关问题 更多 >

    热门问题