当前位置: 首页 > 工具软件 > djongo > 使用案例 >

django查询去重

强宾白
2023-12-01

django使用Q查询

from django.db.models import Q
books = Book.objects.filter(Q(title__icontains=key) |
                                Q(author__icontains=key) |
                                Q(translators__icontains=key) |
                                Q(tags__name__icontains=key)
                                ).order_by('-avg_mark')

查询出来的结果会有重复的

解决方案

使用distinct做去重处理,代码如下:

books = Book.objects.filter(Q(title__icontains=key) |
                                Q(author__icontains=key) |
                                Q(translators__icontains=key) |
                                Q(tags__name__icontains=key)
                                ).distinct().order_by('-avg_mark')
 类似资料: