使用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))
  • 表单默认工作方式

  • 那么在持续时间字段上使用默认值或解决此问题的正确方法是什么?

    最佳答案

    默认值应为timedelta。这是Django中的错误,并将在1.8.1版本中修复。

    另请:https://code.djangoproject.com/ticket/24566

    因此,使用default应该是:time_passed = models.DurationField(default=timedelta())

    10-06 08:51