編集:
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))