编辑:
我该如何将 Django 字段的默认设置为一个在创建新模型对象时每次都会计算的函数?
我想做类似于以下代码的事情,但在此代码中,该代码只被计算一次,并将默认设置为每个创建的模型对象相同的日期,而不是每次创建模型对象时都计算代码:
from datetime import datetime, timedelta
class MyModel(models.Model):
# default to 1 day from now
my_datetime = models.DateTimeField(default=datetime.now() + timedelta(days=1))
原文:
我想为一个函数参数创建一个默认值,使其在每次调用函数时都是动态的,并且会被调用和设置。我该如何做到这一点?例如:
from datetime import datetime
def mydatetime(date=datetime.now()):
print date
mydatetime()
mydatetime() # 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_datetime = models.DateTimeField(default=datetime.now() + timedelta(days=1))