千家信息网

如何理解select两级联动查询

发表于:2025-02-08 作者:千家信息网编辑
千家信息网最后更新 2025年02月08日,本篇文章给大家分享的是有关如何理解select两级联动查询,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。写故障管理系统时,根据主类-平台
千家信息网最后更新 2025年02月08日如何理解select两级联动查询

本篇文章给大家分享的是有关如何理解select两级联动查询,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

写故障管理系统时,根据主类-平台进行故障搜索,需要用到select两级联动查询

前端html

django后端view

def search(request,page):    """    搜索view,接收前端传来的主类名,匹配数据库获得数据,返回给前端,自定义分页    """    check_Program=request.GET['Program']    check_PlatForm=request.GET['PlatForm']    check_Program=check_Program.encode("utf-8")    check_PlatForm=check_PlatForm.encode("utf-8")    if check_Program == 'test_program':        return HttpResponseRedirect('/index/')    if check_Program != 'test_program' and check_PlatForm=='test_platform':                ch_result = FaultReports.objects.filter(Program = check_Program)        plat=FaultReports.objects.values_list('PlatForm',flat=True).filter(Program = check_Program)        plat=set(plat)        if ch_result:            islogin=False            page=gb001.try_int(page, 1)            totalitems=FaultReports.objects.filter(Program = check_Program).count()            pageInofobj=html.PageInfo(page,totalitems)            pager=html.Search_Program_page('/search/',page,pageInofobj.TotalPage(),check_Program)            all_data=FaultReports.objects.filter(Program = check_Program).order_by("-id")[pageInofobj.From():pageInofobj.To()]            data=FaultReports.objects.values_list("Program",flat=True)            data=set(data)            try:                islogin=request.session['islogin']            except Exception,e:                pass            if islogin:                name =request.session['username']                return render_to_response('search.html',{'login_user':name,'pager':pager,'result':all_data,'search':data,'query':check_Program,'plat':plat})            else:                return HttpResponseRedirect('/login/')    else:        ch_result = FaultReports.objects.filter(Program = check_Program,PlatForm=check_PlatForm)        plat=FaultReports.objects.values_list('PlatForm',flat=True).filter(Program = check_Program)        plat=set(plat)        print plat        if ch_result:            islogin=False            page=gb001.try_int(page, 1)            totalitems=FaultReports.objects.filter(Program = check_Program,PlatForm=check_PlatForm).count()            pageInofobj=html.PageInfo(page,totalitems)            pager=html.Search_Program_page('/search/',page,pageInofobj.TotalPage(),check_Program,check_PlatForm)            all_data=FaultReports.objects.filter(Program = check_Program,PlatForm=check_PlatForm).order_by("-id")[pageInofobj.From():pageInofobj.To()]            data=FaultReports.objects.values_list("Program",flat=True)            data=set(data)            try:                islogin=request.session['islogin']            except Exception,e:                pass            if islogin:                name =request.session['username']                return render_to_response('search.html',{'login_user':name,'pager':pager,'result':all_data,'search':data,'query':check_Program,'query_platform':check_PlatForm,'plat':plat})            else:                return HttpResponseRedirect('/login/')
def liandong(request):    if request.method == 'POST':        data=request.POST.get('se_program')        print request.POST        PlatFormList=[]        contents = FaultReports.objects.filter(Program=data)        for line in contents:            if PlatFormList.count(line.PlatForm) ==0:                PlatFormList.append(line.PlatForm)        platform = PlatFormList        #platform=set(platform)        #print platform        return HttpResponse(json.dumps(platform),content_type="application/json")

以上就是如何理解select两级联动查询,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

0