2010-03-31 72 views
0
| time_before | datetime  | YES | MUL | NULL |    | 
| time_after | datetime  | YES | MUL | NULL |    | 

the_tag = Tag.objects.get(id=tag_id) 
Log.objects.filter(blah).extra(where=['last_updated >'+the_tag.time_before, 'last_updated' < the_tag.time_after]) 

好的。基本上,我有一個叫做「the_tag」的對象。我想從Log中選擇log.last_updated(這是一個日期時間字段)是在標籤的時間之間。但是,我不知道如何編寫這個Django查詢的最後部分。如何在Django中編寫此查詢? (日期時間)

回答

6

爲了讓您的例子的具體行爲:(相當於__gte__lte

Log.objects.filter(last_updated__gt=the_tag.time_before, last_updated__lt=the_tag.time_after) 

一個具有包容性的範圍查詢是一個有點簡單:

Log.objects.filter(last_updated__range=(the_tag.time_before, the_tag.time_after))