EDYTOWANO:
Jak ustawić wartość domyślną pola Django na funkcję, która jest oceniana za każdym razem, gdy tworzony jest nowy obiekt modelu?
Chcę zrobić coś podobnego do następującego, z tą różnicą, że w tym kodzie kod jest oceniany raz i ustawia domyślną tę samą datę dla każdego utworzonego obiektu modelu, zamiast oceniać kod za każdym razem, gdy zostanie utworzony obiekt modelu:
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))
ORYGINALNY:
Chcę utworzyć wartość domyślną dla parametru funkcji, tak aby była dynamiczna i była wywoływana i ustawiana za każdym razem, gdy funkcja jest wywoływana. Jak mogę to zrobić? na przykład,
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
W szczególności chcę to zrobić w Django, np.
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))