如何在 Django 中获得总持续时间
How to get total duration in Django
我正在尝试显示特定作品的持续时间。
class UserData(models.Model):
uid = models.CharField(max_length=100)
email = models.CharField(max_length=100)
start_date = models.DateField(auto_now_add=True,editable=False)
end_date = models.DateTimeField(auto_now=True)
@property
def duration(self):
if not (self.start_date and self.end_date):
return None
a,b=self.start_date, self.end_date
return '%s:%s' % ((b-a).days*24 + (b-a).seconds//3600, (b-a).seconds%3600//60)
但是当我调用 duration 属性 获取总时间时,它给出了 unsupported operand type(s) for -: 'datetime.datetime' 和 'datetime.date' 错误。
请问如何从我的 UserData 模型中获取持续时间?
您可以使用两种解决方案。
- 使用 start_date 和 end_date 作为日期时间字段。
- a,b=self.start_date, self.end_date.date()。 end_date 仅用于约会。
希望这会奏效。
我正在尝试显示特定作品的持续时间。
class UserData(models.Model):
uid = models.CharField(max_length=100)
email = models.CharField(max_length=100)
start_date = models.DateField(auto_now_add=True,editable=False)
end_date = models.DateTimeField(auto_now=True)
@property
def duration(self):
if not (self.start_date and self.end_date):
return None
a,b=self.start_date, self.end_date
return '%s:%s' % ((b-a).days*24 + (b-a).seconds//3600, (b-a).seconds%3600//60)
但是当我调用 duration 属性 获取总时间时,它给出了 unsupported operand type(s) for -: 'datetime.datetime' 和 'datetime.date' 错误。
请问如何从我的 UserData 模型中获取持续时间?
您可以使用两种解决方案。
- 使用 start_date 和 end_date 作为日期时间字段。
- a,b=self.start_date, self.end_date.date()。 end_date 仅用于约会。
希望这会奏效。