Моя модель:
class Renewal(models.Model):
policy_number = models.integerField()
invitation_date = models.DateTimeField()
Снимок моей таблицы выглядит следующим образом:
id policy_number invitation_date
86 4353 2020-04-21 16:37:39.071941
87 4354 2020-04-21 16:38:16.082238
97 4355 2020-04-21 17:18:03.997882
99 4377 2020-04-21 17:26:58.414530
162 4218 2020-04-22 18:42:23.066879
167 4218 2020-04-22 18:29:10.571033
171 4218 2020-04-22 18:39:17.546550
175 4238 2020-04-23 17:35:54.444945
176 4238 2020-04-23 17:36:01.482819
177 4239 2020-04-23 17:42:15.056850
178 4238 2020-04-24 13:00:06.886101
179 4243 2020-04-24 13:00:32.098504
180 4241 2020-04-24 13:21:31.215547
181 4360 2020-04-29 13:48:18.765400
, по моим представлениям, я пытаюсь получить policy_number в заданном диапазоне дат следующим образом
def some_function(request):
start_date = datetime.date.today()
end_date = start_date - datetime.timedelta(days=5)
renewals = Renewal.objects.filter(invitation_date__gt=end_date, invitation_date__lte=start_date)
print(renewals)
что я получаю: [4238, 4243, 4241]
ожидаемый ответ: [4238, 4243, 4241, 4360]
в идеале это должно дать мне все записи обновления, созданные за последние 5 дней. Однако если сегодня 2020-04-29, последняя запись политики должна была быть 4360, но моя последняя запись политики 4241