Вкратце: мы можем создать функцию для вычисления следующего дня.
Мы не можем добавить функцию с объектом timedelta(..)
, поскольку ни у функции нет __add__
method, ни у объекта timedelta
нет метода __radd__
для добавления функций и timedelta
s вместе, поэтому Python / Django не может создать новую функцию с этим синтаксисом.
Однако мы можем решить этопроблема с созданием функции, которая вычисляет время по умолчанию:
<b>def tomorrow():
return datetime.now() + timedelta(days=1)</b>
class ActivateCode(models.Model):
""" """
user = models.ForeignKey(User, on_delete=models.CASCADE)
code = models.CharField(max_length=100)
date_expired = models.DateTimeField(default=<b>tomorrow</b>)
Мы здесь не вызываем функцию, которую мы установили как default=...
, мы только передаем ссылку на наш tomorrow
функция, такая, что если Django создаст новый объект, он вызовет функцию tomorrow(..)
и, таким образом, рассчитает точно на следующий день.