콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
3 답글
7409 화면

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')

            )

아바타
취소

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

Did you find an answer to this?

베스트 답변
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')])
아바타
취소
작성자 베스트 답변

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=[('??', '=', '??')])
아바타
취소

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

작성자

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

작성자

let's say the id is 22

작성자

i change the domain with the following

('name' = 'parent_id')

and it works just fine

thanks for your help

관련 게시물 답글 화면 활동
1
12월 21
2437
2
2월 24
2622
3
9월 25
1828
2
2월 25
6376
4
5월 24
13288