当前位置 : 主页 > 编程语言 > python >

django查询去重

来源:互联网 收集:自由互联 发布时间:2022-06-18
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 ( '-a

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')


网友评论