Обновление поля даты и времени модели Django, но не в дБ - PullRequest
0 голосов
/ 29 марта 2019

В моей модели Memo есть следующее

times_visited = models.IntegerField(default=0)
date_last_visited = models.DateTimeField(default=timezone.now())

При вызове, как показано ниже, корректно обновляется только times_visited int в базе данных, date_visited остается таким же, как и во время инициализации.Отладка печати показывает, что в модели хранится правильное время, но, похоже, она не передается в БД.Я не переопределил метод сохранения.

memo.times_visited = memo.times_visited + 1
memo.last_visited = timezone.now()
memo.save()

print("Last visited: " + str(memo.last_visited))

Разве это не должно работать таким образом?

1 Ответ

2 голосов
/ 29 марта 2019

Это должно быть

memo.date_last_visited = timezone.now()

, а не

memo.last_visited = timezone.now()

Как сказал dirkgroten, вы присваиваете свойство last_visited объекту memo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...