İçereği Atla
Menü
Bu soru işaretlendi
3 Cevaplar
7058 Görünümler

i created i module that has as a field manager, i want to be filled automatically with the value of the parent_id field of the hr.employee

how i can do this ? 

 

i tried this way but i don't know how to point to the parent_id field 

                class Job_Certification(models.Model):

                _name = 'job.certification'


              manager = fields.Many2one(

             'hr.employee',

             'manager',

             default=lambda self: self.env['hr.employee']._company_default_get('my_module_name')

            )

Avatar
Vazgeç

Other module method can call same way, self.env['hr.employee']._company_default_get()

Did you find an answer to this?

En İyi Yanıt
You can create default custom method in the same class. In the method return the hr.employee record id based on required conditions.

Below Example from Default core Module:

def _get_default_journal(self):
return self.env['account.journal'].search([('type', '=', 'general')], limit=1).id


journal_id = fields.Many2one('account.journal', string='Journal', required=True, default=_get_default_journal, domain=[('type', '=', 'general')])
Avatar
Vazgeç
Üretici En İyi Yanıt

so in my case what should it put inside the domain ?  if i want to get the value of the parent_id field ? 

def _get_default_manager(self):
return self.env['hr.employee'].search([('??', '=', '??')], limit=1).id


manager = fields.Many2one('hr.employee', string='Manager', required=True, default=_get_default_manager, domain=[('??', '=', '??')])
Avatar
Vazgeç

Yes, default which hr.employee id (name) would you like to display, based on that condition will apply.

Üretici

hh sorry but still i don't get it, can you please write it down ?

Üretici

let's say the id is 22

Üretici

i change the domain with the following

('name' = 'parent_id')

and it works just fine

thanks for your help

İlgili Gönderiler Cevaplar Görünümler Aktivite
1
Ara 21
2125
2
Şub 24
2244
2
Şub 25
5903
1
Ara 24
1455
4
May 24
12714