timedelta на сервере отрабатывает не верно
Хелп, подскажите куда смотреть
вот код
from django.utils import timezone
timezone.now() + timedelta(seconds=300)
получаю на сервере (условно)
2021-11-24 10:05:00.000000+00:00
а локально
2021-11-24 10:15:00.000000+00:00
т.е. он почему-то будто бы на сервере убавляет это время, а локально прибавляет, с чем это может быть связано?
Ответы (1 шт):
Нашел причину. Проблема была в используемом factory_boy. Я недостаточно подробно описал проблему - более абстрактно, но возникало все с полем, который генерировал factory_boy.
Раньше было так:
class SomethingFacroty(factory.DjangoModelFactory):
expire_date = timezone.now() + timedelta(seconds=120)
Я переделал на лямбду:
class SomethingFacroty(factory.DjangoModelFactory):
expire_date = factory.LazyFunction(
lambda: timezone.now() + timedelta(seconds=120)
)
А проблема возникала в том, что локально тест запускался один, а на сервере прогонялись все тесты и с момента инициализации и установки в поле даты до момента конкретного теста проходило некоторое количество времени, разница в которой и выражалась тут.