如何使用Django进行查询并实现结果去重?

2026-05-26 18:231阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计133个文字,预计阅读时间需要1分钟。

如何使用Django进行查询并实现结果去重?

使用Django查询数据库,可使用以下代码:

如何使用Django进行查询并实现结果去重?

pythonfrom django.db.models import Qbooks=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')


本文共计133个文字,预计阅读时间需要1分钟。

如何使用Django进行查询并实现结果去重?

使用Django查询数据库,可使用以下代码:

如何使用Django进行查询并实现结果去重?

pythonfrom django.db.models import Qbooks=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')