2017-04-27 47 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