과제/팀과제

[Django] 최종 프로젝트 : 지금은 전시상황!(8) - [BE]전시회 전체 목록 조회 및 추천 서비스 날짜 필터링

마이구미+ 2023. 6. 18. 22:44

<전시회 전체 목록>

  • 오늘 날짜를 기준으로 아직 종료되지 않은 전시회만 보이게끔 수정했다
  • start_date는 오늘 또는 오늘 이전 날짜에 해당되는 데이터만 불러오고, end_date는 오늘 또는 오늘 이후 날짜에 해당되는 데이터만 불러온다

  • 원래 있던 코드에 몇 줄 추가했다
  • 일단 가독성을 위해 Q객체를 선언해주고 today에는 오늘 날짜를 담는다
  • Q객체를 불러온 김에 category 부분도 Q()로 바꾸었다
  • lte는 작거나 같다와 같은 의미로 start_date가 오늘 날짜보다 작거나 같다 즉, 이전 날짜이거나 오늘에 해당하는 데이터를 불러온다
  • gte는 크거나 같다와 같은 의미로 end_date가 오늘 날짜보다 크거나 같다 즉, 이후 날짜이거나 오늘에 해당하는 데이터를 불러온다
  • 이렇게 조건을 q라는 변수에 담고 filter()의 파라미터로 q를 담는다
  • 정렬은 end_date를 기준으로 오름차순 정렬했다(종료 날짜가 임박한 순서)

<추천 서비스>

  • 추천 서비스도 마찬가지로 오늘 날짜를 today라는 변수에 담고 start_date와 end_date를 필터링한다
  • 마찬가지로 end_date 기준으로 오름차순 정렬한다
  • 그 다음 필터링된 데이터프레임을 유사도순으로 내림차순 정렬한다