【发布时间】:2016-06-17 18:35:35
【问题描述】:
我正在学习 django,目前正在开发一个博客项目。我有一个基本的搜索功能,可以相应地过滤帖子。 通过在我的标题和帖子的内容过滤器中搜索内容,它可以正常工作。我正在尝试添加一个新过滤器,以便我可以输入月份,例如“三月”,然后它将过滤掉三月份发布的所有帖子。 Post的所有模型(只是博客中的普通帖子)都有这个:
models.py
class Post(models.Model):
title = models.CharField(max_length=120)
content = models.TextField()
publish = models.DateField(auto_now=False, auto_now_add=False)
在我的views.py中我有以下搜索功能:(只有相关的东西)
views.py
queryset_list = Post.objects.all()
query = request.GET.get("q")
if query:
queryset_list = queryset_list.filter(
Q(title__icontains=query) |
Q(content__icontains=query) |
Q(publish__icontains=query)
).distinct()
在模板中,如果发布日期设置为 2016-07-12,则发布属性显示如下:“2016 年 7 月 12 日”。
就像我提到的,当标题或内容为查询时,搜索功能会很好地过滤帖子,但如果我搜索“七月”,它就不起作用。然后它不会返回任何帖子。
我想知道我能做些什么,以便它也可以按发布日期过滤帖子。
【问题讨论】: