我正在使用SMS服务器的datetime字段。我希望SMS总是在当前日期发送,但是我希望用户只能从视图中更改时间。
我正在使用datetime字段,该字段将用于将请求发布到sms服务器,并且使用float字段表示时间,该字段将出现在视图中。我要从小时和分钟的浮动字段的视图中获取值,并将其传递给datetime字段以设置时间。即我想用delivery_time字段中的值替换replace方法中的小时和分钟参数的硬编码值。
import datetime as dt
class SmsTemplate(models.Model):
_name = "sms.template"
delivery_time = fields.Float(string='Time')
delivery_datetime = fields.Datetime(default=timezone('Asia/Baghdad').localize(dt.datetime.today()).replace(hour=1,minute=20))
<field name="delivery_time" widget="float_time"/>
答案 0 :(得分:0)
您几乎拥有了它。在这种情况下,请添加一个取决于delivery_time字段的方法,该方法在更改后会更新delivery_datetime字段。
@api.multi
@api.onchange('delivery_time')
def _update_datetime(self):
for template in self:
template.delivery_datetime = template.delivery_datetime + datetime.timedelta(hours=template.delivery_time)
上面的代码应为您提供帮助。