ВІДРУДНО
Як я можу встановити за замовчуванням поля Django функцію, яка оцінюється кожного разу, коли створюється новий об'єкт моделі?
Я хочу зробити щось на кшталт наступного, за винятком того, що в цьому коді код оцінюється один раз і встановлюється однакова дата для кожного створеного об'єкта моделі, а не оцінювати код кожного разу, коли створюється об'єкт моделі:
from datetime import datetime, timedelta
class MyModel(models.Model):
# default to 1 day from now
my_date = models.DateTimeField(default=datetime.now() + timedelta(days=1))
ОРИГІНАЛ:
Я хочу створити значення за замовчуванням для параметра функції таким чином, щоб воно було динамічним і отримує виклик та встановлення кожного разу, коли функція викликається. Як я можу це зробити? наприклад,
from datetime import datetime
def mydate(date=datetime.now()):
print date
mydate()
mydate() # prints the same thing as the previous call; but I want it to be a newer value
Зокрема, я хочу це зробити в Django, наприклад,
from datetime import datetime, timedelta
class MyModel(models.Model):
# default to 1 day from now
my_date = models.DateTimeField(default=datetime.now() + timedelta(days=1))