Первый и последний использованные методы исключенные предметы
я использовал last()
для получения последнего элемента набора запросов после исключения некоторых элементов, как показано ниже:
holidays = HolidayModel.objects.all().values_list('date', flat=True)
result = BorseExchangeLog.objects.exclude(
hint_time__date__in=holidays
)
# output 1
print(list(result.valuse_list('hint_time__date',flat=True).distinct('hint_time__date')))
#output2
print(result.last().hint_time.date())
but in output2
print item that not exists in output1
я проверил это first()
и проблема была там же
в чем проблема? Мой код неправильный или ошибка в django orm?
использование django2.2 и postgresql
Ваша дататайм учитывает часовой пояс, но метод date()
на объектах datetime не учитывает часовой пояс, __date
будет учитывать часовой пояс при условии, что ваша БД поддерживает его. Используйте функцию django.utils.timezone.localdate
для получения даты с учетом часового пояса
from django.utils.timezone import localdate
print(localdate(result.last().hint_time))