Я вручаю приложение Python через Django. В рамках приложения я храню "созданное" поле классика в нескольких таблицах.
Это - то, как поле похоже в форме Django:
created = models.DateTimeField(blank=True, default=datetime.now())
К сожалению, datetime.now () не точно. На самом деле в базе данных у меня есть наборы строк с той же самой меткой времени.
datetime.now () значение, кажется, изменяется каждые 30-45 минут.
Мое приложение Django вручено на Windows Server 2005 позади IIS6.
Справка была бы удивительна!
, потому что datetime.now () вызывается при инициализации вашего модуля, и это значение используется по умолчанию.
Вы хотите использовать параметр auto_now_add = True
created = models.DateTimeField(auto_now_add=True)
изменить: нет необходимости в «пустом», если вы устанавливаете опцию auto.
К сожалению, это распространенная ошибка новичков. Вы вызвали метод datetime.now ()
в определении - это означает, что по умолчанию будет время выполнения определения, то есть когда запускается процесс вашего сервера.
Вам нужно передать вызываемый вместо:
created = models.DateTimeField(blank=True, default=datetime.now)
, то есть без вызывающих скобок.
(Или просто используйте auto_now_add = True
).
У вас нет полей auto_now или auto_now_add, для которых установлено значение True. Следовательно, значение по умолчанию - это то, что заполняется в форме. Когда форма отправляется в браузер. Конечно будут дубликаты.
http://docs.djangoproject.com/en/1.2/ref/models/fields/#datetimefield