EDITADO:
Como posso definir o padrão de um campo Django para uma função que é avaliada cada vez que um novo objeto de modelo é criado?
Eu quero fazer algo como o seguinte, exceto que neste código, o código é avaliado uma vez e define o padrão para a mesma data para cada objeto de modelo criado, em vez de avaliar o código cada vez que um objeto de modelo é criado:
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))
ORIGINAL:
Quero criar um valor padrão para um parâmetro de função de forma que seja dinâmico e seja chamado e definido toda vez que a função for chamada. Como eu posso fazer isso? por exemplo,
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
Especificamente, quero fazer isso em Django, por exemplo,
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))