Я использовал datetime.now()
, затем я изменил его на timezone.now()
, но все равно получаю ту же ошибку.
Изменение модели не изменить файл миграции. Вы должны посмотреть, какие файлы миграции содержат datetime.now()
, и удалить это (вместе со всеми другими миграциями, которые зависят от этого).
Более того, использование default=timezone.now()
- это , а не хорошая идея , По умолчанию будет использоваться время, когда вы запустите веб-сервер. Таким образом, это означает, что если сервер работает в течение двух дней, отметка времени все равно будет использовать отметку времени в два дня go.
Однако DateTimeField
имеет auto_now_add=…
[Django -doc] для автоматического использования метки времени при добавлении объекта:
class Post(models.Model):
created_at = models.DateTimeField(<b>auto_now_add=True</b>)
Это установит для поля значение blank=True
, а также editable=False
.