Django default = timezone.now () zapisuje rekordy w „starym” czasie

Ten problem pojawia się od kilku tygodni i nie przypomina żadnego z moich projektów.

Dwa używane modele mają pole znacznika czasu, które domyślnie jest ustawione natimezone.now().

Jest to sekwencja, która wywołuje flagi błędów:

Model pierwszy jest tworzony o godzinie 19:30

Model drugi jest tworzony o godzinie 22:00, ale w bazie danych MySQL jest przechowywany jako 19:30!

Każdy utworzony model ma znacznik czasu zapisany poniżej godziny 19:30, a nie rzeczywisty czas, aż do upływu określonego czasu. Następnie ustawia się nowy czas i wszystkie poniższe modele mają ten nowy czas ... Bizzare

Dodatkowe informacje, które mogą pomóc w odkryciu problemu:

Mam kilka metod, których używam, aby usunąć moje strefy czasowetzinfoi zastąp je UTC.

To dlatego, że robiętimezone.now() - creationTime obliczenie, aby utworzyć: „model został opublikowany tak dawno temu” w projekcie. Jednak to nie powinno być przyczyną problemu.

Nie sądzę, że używamdatetime.datetime.now() zrobi także różnicę.

W każdym razie dzięki za pomoc!

questionAnswers(2)

yourAnswerToTheQuestion