EDITIERT:
Wie kann ich die Standardeinstellung eines Django-Felds auf eine Funktion festlegen, die jedes Mal ausgewertet wird, wenn ein neues Modellobjekt erstellt wird?
Ich möchte Folgendes tun, außer dass in diesem Code der Code einmal ausgewertet wird und der Standard für jedes erstellte Modellobjekt auf das gleiche Datum festgelegt wird, anstatt den Code jedes Mal auszuwerten, wenn ein Modellobjekt erstellt wird:
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:
Ich möchte einen Standardwert für einen Funktionsparameter erstellen, der dynamisch ist und bei jedem Aufruf der Funktion aufgerufen und festgelegt wird. Wie kann ich das machen? z.B,
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
Insbesondere möchte ich es in Django tun, z.
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))