Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django搜索帖子查询筛选月_Python_Django - Fatal编程技术网

Python Django搜索帖子查询筛选月

Python Django搜索帖子查询筛选月,python,django,Python,Django,我正在学习django,目前正在从事一个博客项目。我有一个基本的搜索功能,可以相应地过滤帖子。 通过搜索我的标题中的内容和帖子的内容过滤器,它工作得很好。我正在尝试添加一个新的过滤器,这样我就可以键入月份,例如“March”,然后它将过滤掉3月份发布的所有帖子。所有类型的帖子(只是博客中的一篇普通帖子)都有以下特点: models.py class Post(models.Model): title = models.CharField(max_length=120) cont

我正在学习django,目前正在从事一个博客项目。我有一个基本的搜索功能,可以相应地过滤帖子。 通过搜索我的标题中的内容和帖子的内容过滤器,它工作得很好。我正在尝试添加一个新的过滤器,这样我就可以键入月份,例如“March”,然后它将过滤掉3月份发布的所有帖子。所有类型的帖子(只是博客中的一篇普通帖子)都有以下特点:

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)
在my views.py中,我有以下搜索功能:(仅相关内容)

在模板中,如果发布日期设置为2016-07-12,则发布属性如下所示:“2016年7月12日”

正如我提到的,当标题或内容为=时,搜索功能可以很好地过滤帖子,但如果搜索“July”,它就不起作用。然后它不会返回任何帖子


我想知道我能做些什么,这样它也能按发布日期过滤帖子。

我找到了一个解决方案。我意识到如果我搜索“07”而不是“7月”,它会相应地过滤掉帖子,因此目前这解决了我的问题,因为博客目前只供我的朋友使用。显然,可以用一些python将其转换为month单词


这是因为您以yyyy/mm/dd格式输入日期字段。因此,Post.publish也将采用此格式。

我找到了一个解决方案。我意识到如果我搜索“07”而不是“7月”,它会相应地过滤掉帖子,因此目前这解决了我的问题,因为博客目前只供我的朋友使用。显然,可以用一些python将其转换为month单词

这是因为您以yyyy/mm/dd格式输入日期字段。因此Post.publish也将采用此格式

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