Django:在所有字段中使用__icontains搜索会产生重复项

时间:2019-01-26 17:53:40

标签: python django django-models

我有一个名为Books(models.Model)的Django模型,该模型具有各种字段,包括作者,标题和创建年份。我想在Book模型的所有字段中过滤此列表。例如,如果我搜索“ Winnie”,则希望出现在标题,作者或创建年份中带有“ Winnie”的所有Book实例,但不希望出现相同的模型实例。例如,如果“ Winnie”在特定实例的标题和作者中,则我只希望该实例出现一次。

我尝试使用以下代码来完成此任务:

books = Books.objects.filter(Q(title__icontains=search_query) | Q(author__icontains=search_query) | Q(year_created__icontains(search_query)).order_by("author")

其中search_query是代表搜索查询的变量。

但是,如前所述,我得到了重复的结果。如何防止这些重复的结果?

非常感谢您的帮助!

谢谢!

0 个答案:

没有答案