Как установить фиксированную переменную 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)