Django DateTimeField Timestamp имеет неверный формат. Оно должно быть в формате YYYY-MM-DD HH:MM[:ss[.uuuuuuuuu]][TZ].
Окружающая среда:
- Django 4.0 (venv)
- Python 3.8
- Postgres 15
- Elementary OS 6.1
Начальная модель:
class MyModel(models.Model):
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
После сохранения новой записи ( без указания значения для "created" или "updated") результат был следующим:
django.core.exceptions.ValidationError: ['“1669827388000” value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] format.']
Тогда я последовал некоторым предложениям, чтобы сделать это:
class MyModel(models.Model):
created = models.DateTimeField(editable=False)
updated = models.DateTimeField(editable=False)
# Still doesnt work: It gets a timestamp
def save(self, *args, **kwargs):
if not self.id:
self.created = timezone.now()
self.updated = timezone.now()
return super(Token, self).save(*args, **kwargs)
Результат был точно таким же (конечно, значение временной метки изменилось).
Я пробовал вариации с django.settings settings.USE_TZ
из True
в False
и наоборот.
Traceback:
Заранее спасибо за любое предложение!
Как уже упоминалось @AdrianKlaver, сначала следует выполнить конвертацию из ms.