编辑:
如何将 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))