如何抓住时间的小时 - django

时间:2017-12-12 08:06:05

标签: django django-models django-views

我有一个带有TimeField的模型和表单,并且我想在从提交和存储的表单中提取时间字段后对小时进行更改。我想更新时间。任何人都可以帮助我...

这是视图

start_time = cd['start_time']

hour = start_time.hour
new_hour = hour - int(alert)

update_time = start_time
update_time.hour = new_hour
update_time.save()

所以start_time是提交的时间段。 我想抓住那个开始时间的小时来改变它。我怎么能这样做......

这是我得到的错误消息:

attribute 'hour' of 'datetime.time' objects is not writable

我想从原始时间获取小时并更新/更改

1 个答案:

答案 0 :(得分:0)

datetime实例是不可变的,但是有一种方法可以获得一个新实例,其中一个(或几个)字段被替换为不同的值。它在此处记录:https://docs.python.org/3/library/datetime.html#datetime.datetime.replace

所以你的例子会变成这样:

start_time = cd['start_time']
update_time = start_time.replace(hour=start_time.hour - int(alert))

我不确定你为何在更新时调用save。我假设你的例子中有一个错误。