如何在Django中编写此查询? (约会时间)

时间:2010-03-31 08:37:24

标签: python mysql database django

| 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查询的最后一部分。

1 个答案:

答案 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))