2017-04-27 142 views
0

是否有可能在域Many2one字段中调用functin?在域Many2one字段中调用函数

例如:

time = fields.Many2one('my.time', #call function here) 

的时间字段是从数据库表my_time填充。在表我有几个行:

id name 

1 10:00 

2 11:00 

3 12:00 

4. 13:00 

在其他表my_booked_time,我从时间字段中插入ID(1),现在我需要过滤Many2one“选择所有可用的时间(11:00,12:00,13: 00)“not 10:00,where user_id = self.user_id and partner_id = self.partner_id

任何简单的解决方案?

+0

为什么你不my_time表中添加一个布尔字段,如果时间被封锁定义或不 –

回答

1

定义上many2one让域说,my_booked_time有M2O名为表my_timetime_id

m2o_field = fields.Many2one(...., 
    domain=lambda self: [("id", "not in", self.env['my.booked.time'].search([]).mapped("time_id").ids)]) 
+0

TNX ,在你的例子中如何添加user_id = self.user_id和partner_id = self.partner_id –

+0

'lambda self:[('use_id','=',self.env.user.id),('partner_id','=' self.env.user.partner_id.id)]'你认为合作伙伴ID是什么意思 – Cherif

+0

我认为user_id && partner_id如果第一个是真的,第二个是真的,反之呢? – Cherif