編集:
Django フィールドのデフォルトを、新しいモデル オブジェクトが作成されるたびに評価される関数に設定するにはどうすればよいですか?
次のようなことをしたいと思います。ただし、このコードでは、モデル オブジェクトが作成されるたびにコードを評価するのではなく、コードが 1 回評価され、作成されたモデル オブジェクトごとにデフォルトが同じ日付に設定される点が異なります。
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))