Как установить фиксированную переменную datetime.now() в Django с помощью datetime.datetime

Я хочу иметь две даты записи записи в блоге, одна - дата создания записи, а другая - дата последнего обновления записи. Но проблема в том, что переменная date_created сбрасывается каждый раз, когда я вношу какие-либо изменения.

...
from datetime import datetime

class Post(models.Model):
   ...
   date_created = datetime.now() # how to not reset this variable everytime when I update changes to the post?
   last_edited_date = datetime.now()

Вы должны использовать DateField для этой реализации. Пожалуйста, ознакомьтесь с этой документацией для получения дополнительной информации.

DateField.auto_now

Автоматически устанавливает поле на now при каждом сохранении объекта. Полезно для временных меток "last-modified". Обратите внимание, что текущая дата используется всегда; это не просто значение по умолчанию, которое можно переопределить.

DateField.auto_now_add

Автоматически устанавливает поле в значение now при первом создании объекта. Полезно для создания временных меток. Обратите внимание, что текущая дата используется всегда; это не просто значение по умолчанию, которое можно переопределить.

Вам следует использовать поля Django models. Я рекомендую прочитать документацию, как упомянул @Shivendra, но для быстрого решения используйте эти:

create_time = models.DateTimeField(auto_now_add=True)
update_time = models.DateTimeField(auto_now=True)
Вернуться на верх