我已经为酒店房间管理制作了一个模块,我想用Python检查房间的可用性。我接受了名为available = fields.Boolean()
的复选框。现在,我想要在输入check_in_time时自动检查它。那么,我该怎么做?我已经服用了
check_in_time=fields. Datetime()
。我已经尝试过这样......
class Hotel_Management(models.Model):
check_in_time = fields. Datetime()
available = fields.Boolean()
@api.onchange('check_in_time')
def auto_check(self):
for a in self:
if a.check_in_time:
a.available=True
print a.available
else:
print a.available
但是它只在终端中更改了复选框的值....而不是在数据库中....它需要" false"默认值每次都是。那么,告诉我如何更改数据库中复选框的值?
答案 0 :(得分:1)
你的代码是对的。该值将保存在" Save"在客户端的行动。 onchange
将在客户端虚拟保存值。 depends
将直接写入数据库。但onchange
就足够了。
答案 1 :(得分:0)
是的,你的代码是对的。但您需要使用该值覆盖写入函数,例如:
@api.multi
def write(self, vals):
res = super(Hotel_Management, self).write(vals)
if 'check_in_time' in vals:
if vals['check_in_time']:
vals['available'] = True
else:
print vals['available']
return res