Как я могу написать этот запрос в Django? (DateTime) - PullRequest
0 голосов
/ 31 марта 2010
| 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])

Ok. По сути, у меня есть объект, который называется "the_tag". Я хочу выбрать из журнала, где log.last_updated (который является полем даты и времени) находится между временем тега Но я не знаю, как написать последнюю часть этого запроса Django.

1 Ответ

6 голосов
/ 31 марта 2010

Чтобы получить точное поведение вашего примера:

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))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...