В Django для этого обычно используют DateTimeField
[Django-doc] . Это столбец, в котором хранится комбинация даты и времени.
Можно позволить Django автоматически инициализировать (или обновить) метку времени, если запись построена или обновлена с помощью auto_now_add=True
[Django-doc] для его инициализации при создании записи и auto_now=True
[Django-doc] для обновления. Таким образом, обычным явлением является представление (базовой) модели, такой как:
class TimestampModel(models.Model):
created = models.DateTimeField(<b>auto_now_add=True</b>)
updated = models.DateTimeField(<b>auto_now=True</b>)
class Meta:
abstract = True
, такой, что подклассы TimestampModel
, таким образом, имеют два дополнительных столбца created
и updated
, которые хранят время, когдаобъект был создан и последний раз обновлен соответственно.
Столбец datetime
имеет больший диапазон, как указано в документации MySQL :
Тип DATETIME
используется для значений, которые содержат как дату, так и время. MySQL извлекает и отображает значения DATETIME
в формате 'YYYY-MM-DD hh:mm:ss'
. Поддерживаемый диапазон составляет от '1000-01-01 00:00:00'
до '9999-12-31 23:59:59'
.
Тип данных TIMESTAMP
используется для значений, которые содержат как дату, так и время. TIMESTAMP
имеет диапазон от '1970-01-01 00:00:01' UTC
до '2038-01-19 03:14:07' UTC
.