| 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查询的最后一部分。
答案 0 :(得分:6)
要获得示例的确切行为:
Log.objects.filter(last_updated__gt=the_tag.time_before, last_updated__lt=the_tag.time_after)
对于包含范围(相当于__gte
,__lte
),查询更简单:
Log.objects.filter(last_updated__range=(the_tag.time_before, the_tag.time_after))