Django:durationField默认值
Django: durationField default value
Django 的 DurationField
的正确使用方法是什么?
当我使用time_passed = models.DurationField(default=0)
时:
- 迁移有效
- 表单默认值不工作(
'int' object has no attribute 'total_seconds'
)
当我使用time_passed = models.DurationField(default=timedelta())
时:
- 迁移不工作(
ValueError: Cannot serialize: datetime.timedelta(0)
)
- 表单默认值有效
那么在持续时间字段上使用默认值的正确方法是什么,或者解决此问题的方法是什么?
默认值应该是时间增量。这是 Django 中的一个错误,将在 1.8.1 版本中修复。
参见:https://code.djangoproject.com/ticket/24566
所以使用默认值应该是:
time_passed = models.DurationField(default=timedelta())
MatZeg 的 显示您仍然可以传入参数:
pause = DurationField(default=timedelta(minutes=20))
Django 的 DurationField
的正确使用方法是什么?
当我使用time_passed = models.DurationField(default=0)
时:
- 迁移有效
- 表单默认值不工作(
'int' object has no attribute 'total_seconds'
)
当我使用time_passed = models.DurationField(default=timedelta())
时:
- 迁移不工作(
ValueError: Cannot serialize: datetime.timedelta(0)
) - 表单默认值有效
那么在持续时间字段上使用默认值的正确方法是什么,或者解决此问题的方法是什么?
默认值应该是时间增量。这是 Django 中的一个错误,将在 1.8.1 版本中修复。
参见:https://code.djangoproject.com/ticket/24566
所以使用默认值应该是:
time_passed = models.DurationField(default=timedelta())
MatZeg 的
pause = DurationField(default=timedelta(minutes=20))