Как я могу сделать, чтобы отфильтровать по датам - PullRequest
1 голос
/ 11 июля 2019

Я программирую, используя django, и у меня есть эта переменная:

a = '2019-08-03'

И у меня есть база данных с двумя столбцами начала и конца, как это:

start = 2019-08-01 00:00:00.000000
end = 2019-08-15 00:00:00.000000

Очевидно, что начало и конец имеют много значений. Я хотел бы получить строки, которые находятся между началом и концом. Как я могу это сделать?

Я подумал примерно так:

c = myObject.objects.filter(mycondition)

но я думаю, что мне нужно сделать правильное преобразование, а затем что-то вроде между ... Не могли бы вы помочь мне, пожалуйста?

Я точно могу изменить вот так a = 2019-08-03 00:00:00.000000

1 Ответ

0 голосов
/ 11 июля 2019

Вы можете отфильтровать их так, чтобы условие start ≤ a ≤ end сохранялось:

Model.objects.filter(<b>start__lte=a, end__gte=a</b>)

Если вы хотите повысить фитлинг, это может помочь добавить db_index в поле start и end.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...