django서버를 운영중이다.
서비스를 진행하다보니,
혼잡도를 업데이트한 시각이
주말인지, 평일인지 구분해서 로그를
받아와야하는 경우가 생겼다.
일반적으로 python에서는
datetime의 weekday index가 다음과 같다.
now = datetime.datetime.now()
print(now.weekday())
# 월: 0, 화: 1, 수: 2, 목: 3, 금: 4, 토: 5, 일: 6
따라서 다음과 같이 코드를 짜서 진행했다.
now = datetime.datetime.now(tz=pytz.timezone(TIME_ZONE))
# 평일이면 평일 로그만
if now.weekday() < 5:
weekday_range = [0, 1, 2, 3, 4]
# 주말이면 주말 로그만
else:
weekday_range = [5, 6]
logs = OccupancyRateUpdateLog.objects.filter(
update__week_day__in=weekday_range,
)
그런데 오늘 날짜가 월요일 임에도 일요일 로그를 가져오는 것이다..
원인은 간단했다. postgresql에서는 weekday의 indexing이 다르다.
일: 1, 월: 2, 화: 3, 수: 4, 목: 5, 금: 6, 토: 7
아! 유튜브에서 예창패 됐다고 마지막으로 소식 들었는데 velog로 오셨네요. 카페자리 방금 다운받았습니다. 반가워요!