похоже, что datetime.now()
оценивается при определении модели, а не каждый раз, когда вы добавляете запись.
У Django есть функция, позволяющая выполнить то, что вы уже пытаетесь сделать:
date = models.DateTimeField(auto_now_add=True, blank=True)
или
date = models.DateTimeField(default=datetime.now, blank=True)
Разница между вторым примером и тем, что у вас есть, заключается в отсутствии скобок. Передав datetime.now
без скобок, вы передаете фактическую функцию, которая будет вызываться при каждом добавлении записи. Если вы передадите его datetime.now()
, то вы просто оцените функцию и передадите ей возвращаемое значение.
Дополнительную информацию можно получить в справочнике модели Django