ÉDITÉ:
Comment puis-je définir la valeur par défaut d'un champ Django sur une fonction qui est évaluée chaque fois qu'un nouvel objet modèle est créé?
Je veux faire quelque chose comme ce qui suit, sauf que dans ce code, le code est évalué une fois et définit la valeur par défaut à la même date pour chaque objet de modèle créé, plutôt que d'évaluer le code chaque fois qu'un objet de modèle est créé:
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:
Je veux créer une valeur par défaut pour un paramètre de fonction de telle sorte qu'il soit dynamique et qu'il soit appelé et défini à chaque fois que la fonction est appelée. Comment puis je faire ça? par exemple,
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
Plus précisément, je veux le faire dans Django, par exemple,
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))