2012-12-27 5 views
0

나는 모델 구조를비교 날짜

meeting_datetime = models.DateTimeField(default=datetime.datetime.now,blank=True, null=True) 

을 내가 모두 보관 (통과) 회의

여기

get_meetings = Meeting.objects.filter(created_by = user_id.id,meeting_datetime__lte = datetime.now()) 

같은 얻기 위해 사용하고 쿼리 문자열을있다가 위 쿼리는 12 월 29 일에 일어날 예정인 모든 회의를 반환합니다.

지금까지 모든 회의의 세부 사항을 원합니다.

내가 잘못 여기서 뭐하는 거지

+0

을 의미하는 당신이 lt 필요 less than or equal to. 코드 좀 더 줄 수 있니? –

답변

2

대신 "이하 동일"less than __lt 사용해야하는 엄격한 조건을 얻으려면>을 가르쳐주세요. 또한, 일 회의를 포함 방지하기 위해, 당신은 "첫 번째 분의 일"을 얻을 수 있습니다 :

today_min = datetime.datetime.combine(date.today(), datetime.time.min) 
get_meetings = (Meeting 
       .objects 
       .filter(created_by = user_id.id, 
         meeting_datetime__lt = today_min 
         ) 
       ) 
+0

똑같은 일을 – masterofdestiny

+0

왜 __lte가 datetime 필드의 날짜 만 비교할 수 있는지 설명 할 수 있습니까? 나는 이것을 datetime.now()

+0

실제로 날짜를 기반으로 보관 됨 – masterofdestiny

0

lte 의미 내가 문제를 복제 할 수 없습니다 less than

get_meetings = Meeting.objects.filter(created_by__id = user_id.id, 
             meeting_datetime__lt=datetime.now())