手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

Django如何合并两个QuerySet对象

时间:2024-10-27 07:08:40

1、python 自带的模块itertools,可以使用 里面的chain函数引入from itertools import chain

Django如何合并两个QuerySet对象

2、现在我们有一个任务:需要查询文章(根据文章的题目和文章的标签进行模糊查询)这样我们就需要先根据文章题目查询,然后根据文章的标签进行查询(一个标签对应多个文章),然后合成一个QuerySet对象,最后去重

Django如何合并两个QuerySet对象

3、写逻辑并利用chai艘绒庳焰n函数合并两个QuerySet对象#逻辑@login_required(login_url="/user/account/") #登录核验def search(request): #模糊查询(涵盖主题的title和标签) if request.method == "POST": key = request.POST.get('key').strip() context = {} titles = Title.objects.filter(title__icontains=key) tags = Tag.objects.filter(tag_name__icontains=key) for tag_obj in tags: titles = chain(titles,tag_obj.title_set.all()) titles = list(set(titles)) #去重 context["titles"] = titles context["key"] = key return render(request,'forum/search_list.html',context) else: return HttpResponseRedirect("/forum/")

Django如何合并两个QuerySet对象

4、实现结果

Django如何合并两个QuerySet对象
Django如何合并两个QuerySet对象
© 手抄报圈