2017-04-27 9 views
0

Ist es möglich, Functin in Domäne Many2one Feld aufrufen?Aufruf Funktion in Domäne Many2one Feld

Zum Beispiel:

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

Das Zeitfeld aus der Datenbanktabelle my_time gefüllt wird. In Tabelle I mehrere Zeilen haben:

id name 

1 10:00 

2 11:00 

3 12:00 

4. 13:00 

In anderer Tabelle my_booked_time, füge ich id (1) aus Zeitfeld, jetzt brauche ich filtere Many2one „Wählen Sie alle verfügbare Zeit (11: 00,12: 00,13: 00) "nicht 10:00, wo user_id = self.user_id und partner_id = self.partner_id

Jede einfache Lösung?

+0

Warum Sie nicht über ein boolesches Feld in my_time Tabelle hinzufügen zu definieren, wenn die Zeit blockiert ist oder nicht –

Antwort

1

definieren Domain auf many2one Lassen Sie sagen, dass die my_booked_time m2o Tabelle hat my_time genannt time_id:

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

Tnx , wie addiere in deinem Beispiel user_id = self.user_id und partner_id = self.partner_id –

+0

'lambda self: [('benutze_id', '=', self.env.user.id), ('partner_id', '=', self.env.user.partner_id.id)] 'was meinst du mit Partner-ID – Cherif

+0

ich denke, user_id && partner_id wenn die erste wahr ist die zweite ist wahr und die inverse? – Cherif

Verwandte Themen