如何使用Django进行查询并实现结果去重?
- 内容介绍
- 文章标签
- 相关推荐
本文共计133个文字,预计阅读时间需要1分钟。
使用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 Qbooks = 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查询数据库,可使用以下代码:
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 Qbooks = 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')

