Django 的 DurationField
的正确使用方法是什么?
当我使用 time_passed = models.DurationField(default=0)
时:
- 迁移工作
- 表单默认值不有效(
“int”对象没有属性“total_seconds”
)
当我使用 time_passed = models.DurationField(default=timedelta())
时:
- 迁移不工作(
ValueError:无法序列化:datetime.timedelta(0)
) - 表单默认值有效
那么在持续时间字段上使用默认值的正确方法是什么,或者解决此问题的方法是什么?
最佳答案
默认值应该是一个时间增量。这是 Django 中的一个错误,将在 1.8.1 版本中修复。
参见:https://code.djangoproject.com/ticket/24566
所以使用默认应该是:
from datetime import timedelta
time_passed = models.DurationField(default=timedelta)
关于python - Django:durationField 默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29699857/