POSTリクエストを介してdatetimeの値を保存すると、データベースに保存されます(後でクエリを実行して値をログに記録することで確認します)。しかし、ページをリロードすると、値は 0000-00-00 00:00:00 に設定されます
# models.py
class Assignment(models.Model):
temp = models.CharField(max_length = 32)
deadline = models.DateTimeField(default=lambda: datetime.datetime.now() + datetime.timedelta(days=14))
# views.py
def some_function(request):
deadline = request.POST['deadline']
assignment.deadline = datetime.timedelta(int(deadline)) + datetime.datetime.now()
この関数全体でassignment.deadlineの値をログに記録すると、それは常に私が期待するものです(現在の日付+ POSTリクエストの値は何でも)。ただし、ページがリロードされると、値は 0000-00-00 00:00:00 に戻されます。
なぜこうなった?