djgoan实现多条件模糊查询

无敌的宇宙
无敌的宇宙
擅长邻域:Java,HTML,JavaScript,MySQL,支付,退款,图片上传

分类: python 标签: djgoan实现多条件模糊查询

2026-01-29 21:30:47 69浏览

djgoan实现多条件模糊查询
def page(request):
    query_filter=Q()
    keywords_filter=Q()

    query_data={}
    pageNo=request.POST.get('pageNo')
    pageSize=request.POST.get('pageSize')
    fname=request.POST.get('fname')
    sh=request.POST.get('sh')
    user_id=request.POST.get('user_id')
    type_id=request.POST.get('type_id')
    nickname=request.POST.get('nickname')
    keywords=request.POST.get('keywords')
    if fname:
        query_data['fname__icontains']=fname
    if sh:
        query_data['sh']=sh
    if user_id:
        query_data['user_id']=user_id
    if type_id:
        query_data['type_id']=type_id
    if nickname:
        query_data['user__nickname__icontains']=nickname
    if keywords:
        keywords_filter=Q(user__nickname__icontains=keywords)|Q(fname__icontains=keywords)|Q(fcont__icontains=keywords)
    for key,value in query_data.items():
        query_filter &= Q(**{key:value})
    all=Forum.objects.select_related('user','type').filter(query_filter & keywords_filter).all().order_by('-id')
    page_info=pageUtil.getpage(all,page_no=pageNo,page_size=pageSize)
    serializer=ForumSerializer(page_info['list'],many=True)
    page_info['list']=serializer.data
    data={'status':1,'msg':'操作成功','obj':page_info}
    return JsonResponse(data)

好博客就要一起分享哦!分享海报

此处可发布评论

评论(0展开评论

暂无评论,快来写一下吧

展开评论

您可能感兴趣的博客

客服QQ 1913284695