2016-06-17 2 views
1

나는 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) 

그리고

내 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 일"과 같이 표시됩니다.

내가 언급 한 것처럼 검색 기능은 제목이나 내용이 검색어에 적합 할 때 게시물을 필터링하지만 "7 월"을 검색하면 검색 기능이 작동하지 않습니다. 그런 다음 게시물을 반환하지 않습니다.

게시일까지 게시물을 필터링 할 수 있도록 할 수있는 일이 무엇인지 알고 싶습니다.

답변

0

해결책을 찾았습니다. 7 월 대신에 "07"을 검색하면 그에 따라 게시물이 필터링되므로 블로그가 내 순간에만 사용되므로 내 문제를 해결하고 있음을 알았습니다. 그것은 분명히 파이썬으로 몇 마디 단어로 변환 될 수 있습니다.

yyyy/mm/dd 형식으로 DateField를 입력했기 때문입니다. 따라서 Post.publish도이 형식입니다.