0
在我的Django网站上,我保存了用户的反应,所以当用户单击按钮时,我将其存储为创建时间,并且当用户第二次单击它时,我将时间存储为完成时间等等。这是我的模型;存储时间差异Django
class UserStatus(models.Model):
STATUS_TYPES = (
('online', 'online'),
('offline', 'offline')
)
user = models.ForeignKey(User)
status_type = models.CharField(max_length=30, choices=STATUS_TYPES, default='online')
created_time = models.DateTimeField(auto_now_add=True)
finish_time = models.DateTimeField(blank=True, null=True)
time_diff = models.DateTimeField(blank=True, null=True)
我添加了time_diff来显示created_time和finish time之间的时间差。当我在shell中尝试一个例子时,我使用;
user_status.created_time
datetime.datetime(2016, 3, 31, 12, 50, 21, tzinfo=<UTC>)
user_status.finish_time
datetime.datetime(2016, 3, 31, 12, 51, 37, 998593, tzinfo=<UTC>)
user_status.finish_time - user_status.created_time
datetime.timedelta(0, 76, 998593)
一切似乎是罚款,直至现在,然而,当我写user_status.save()
它给了一个错误;
line 93, in parse_datetime match = datetime_re.match(value) TypeError: expected string or buffer
我不明白为什么会出现这样的错误。
预先感谢您。
谢谢你解决了我的问题。其实我不知道“DurationField”:),并认为它是一个解析器问题或类似的东西:) – waterkinq