В Django существует общий шаблон для использования следующего определения в модели:
some_date = models.DateTimeField(default=datetime.now)
Это, к сожалению, проблематично, поскольку оно устанавливает значение some_date
на что-то вроде: u'2011-10-18 08:14:30.242000'
.
Если вы теперь используете набор форм, чтобы позволить пользователю отправлять / редактировать дополнительные экземпляры, форма всегда будет оцениваться как измененная.
Причина в том, что начальное значение даты и времени будет u'2011-10-18 08:14:30.242000'
, а текущее значение из виджета формы будет u'2011-10-18 08:14:30'
. Который всегда отличается.
К сожалению, я не могу написать что-то вроде "default=currenttime"
, auto_add
и auto_now_add
ведут себя по-разному и всегда задают для поля значение editable=False
.