我正在为Odoo 9中的预订创建一个模块,并且我的模型的一个字段是基于保留还是不保留的。基本上我的模型是:
class Reservation(models.Model):
....
room_id = fields.Many2one('reservation.room', string="Room")
我已经定义了一个onchange
函数,它返回一个域来过滤未保留的room_id:
@api.onchange('date')
def _set_available_room(self):
.....
return {'domain': {'room_id': [('id', 'in', res)]}}
这很好用,当我设置日期时,房间就过滤好了。我的问题是当我保存预订并再次输入进行编辑时。 room_id
字段显示所有值,仅当我更改date
时,room_id
才会被过滤。
我尝试过像这样在字段定义中使用domain
属性,但它不起作用:
room_id = fields.Many2one('reservation.room', string="Room", domain=lambda self: self._get_available_slots())
如何使用我的函数在加载视图上过滤此字段,而不是搜索可用的房间?