2009-09-22 6 views
3

는 사실, 어딘가에보기 :Django는 'WHERE ... BETWEEN ...'문장을 생성합니까?

dif = datetime.timedelta(days=1) 
today = datetime.date.today() 
yesterday = today - dif 
ex = Fact.objects.filter(fecha_fact__lte=today ,fecha_fact__gte=yesterday) 

그것은이 SQL 쿼리에 결과 :

SELECT `facts_fact`.`id` ... 
FROM `facts_fact` 
WHERE (`facts_fact`.`fecha_fact` >= 2009-09-21 AND `facts_fact`.`fecha_fact` <= 2009-09-22) 

장고> = < = 대신 문장 사이에 WHERE를 할 수 있도록하는 방법이 있나요?

: thx.

답변

4

range을 사용해 보셨습니까?

Fact.objects.filter(fecha_fact__range=(yesterday, today)) 
+2

아아 나에게이 일 :) 좋은 :) – Asinox

+0

"RTFM". 제제. 감사! – panchicore

0

난 몰라,하지만 어쩌면 (GTE/LTE) :

q1 = Entry.objects.filter(headline__startswith="What") 
q2 = q1.exclude(pub_date__gte=datetime.now()) 
q3 = q1.filter(pub_date__gte=datetime.now()) 


q = Entry.objects.filter(headline__startswith="What") 
q = q.filter(pub_date__lte=datetime.now())