我需要将timedelta
值保存到浮点类型字段中。
这是我的代码:
if self.end_time and self.start_time:
timediff =self.end_time - self.start_time // Here i get a time.delta value
self.duration = // here i get an error
TypeError: float() argument must be a string or a number, not
'datetime.timedelta'
我该如何解决这个问题?
您问题中的代码不完整,但假设您实际上正在执行以下操作:
self.duration = float(timediff)
...你想要的是timediff
作为浮点数表示的总秒数,你可以使用timedelta.total_seconds()
方法得到它:
self.duration = timediff.total_seconds()
这将返回一个浮点数,因此不需要转换。