Я изучаю django, и сейчас я работаю над проектом блога. У меня есть функция основного поиска, которая соответственно фильтрует сообщения. Он отлично работает, ища контент в моих заголовках и фильтрах содержимого сообщений. Я пытаюсь добавить новый фильтр, чтобы я мог ввести месяц, например «Март», а затем отфильтровать все сообщения, опубликованные в марте. Все модели Post (только нормальный пост в блоге) имеет следующее:Django search posts filter filter
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()
В шаблоне атрибут публикации отображается следующим образом: «12 июля 2016 года», если дата публикации установлена в 2016-07-12.
Как я уже упоминал, функция поиска фильтрует сообщения в порядке, когда заголовок или контент = для запроса, но он не работает, если я ищу «Июль». Затем он не возвращает никаких сообщений.
Я хотел бы знать, что я могу сделать, чтобы он мог фильтровать сообщения по дате публикации.