2017-03-16 2 views
1

한 모델의 일부 필드 값을 다른 모델에 삽입하고 모든 필드를 한 뷰에 표시합니다. 예를 들어!한 모델의 일부 필드 값을 다른 모델에 삽입하고 odoo에서 한 뷰의 모든 필드를 표시 10

기본 정보 (이름, 성 등)가있는 학생 모델을 가지고 있으며 res_partner 테이블에 저장하려고합니다. 이것은 학생 등록 ​​양식보기에서 res_partner의 추가 필드를 표시하고 싶지 않기 때문입니다. 탭 및 기타 필드가있는 사용자 정의 폼보기를 사용하면됩니다.

+0

충분하지 않다. 어쩌면 관련 분야가 필요 하겠지만 어쩌면 새로운 시각을 창출해야 할 수도 있습니다. 학생 모델은 어떻게 정의됩니까? Student 모델의 데이터를 표시하려면 res_partner 뷰를 사용할 수 없습니다. 양식보기에서 태그로 탭을 만들 수 있습니다. –

+0

또는 [위임 상속] (https://www.odoo.com/documentation/10.0/reference/orm.html#inheritance-and-extension)이 여기 재미있을 수 있습니다. 이 상속을 위해 Odoo에는 몇 가지 예가 있습니다 :'product.product','res.users','project.project'. – CZoellner

답변

1

귀하의 질문은 분명하지 않지만 학생 모델의 일부 필드를 파트너 모델로 쉽게 읽고 쓰고 싶습니다.

학생이 항상 파트너 인 경우 _inherits = {'res.partner': 'partner_id'}을 사용하는 것이 좋습니다. docsuser/partner example을 확인하십시오. 사용자를 만들면 파트너도 생성됩니다. 사용자 모델/테이블은 필드 만 보유합니다. 또 다른 예는 product.template + product.product입니다.

이 필요하지 않습니다 그리고 당신처럼, 이미 학생 관련 파트너가 당신이 어떤 관련 분야를 추가 할 수있는 경우 : 당신은 같은 읽기 전용 당신이가는 설정하지 않은 경우

fullname = fields.Many2one(related='partner_id.name') 

파트너 이름 안에 씁니다.

마지막으로 파트너 형태로 당신을 위해 충분히 아닌 경우 적어도, 단지 this처럼,이 새 탭을 추가

<record id="partner_mytab_form" model="ir.ui.view"> 
     <field name="name">res.partner.mytab</field> 
     <field name="model">res.partner</field> 
     <field name="inherit_id" ref="base.view_partner_form"/> 
     <field name="arch" type="xml"> 
      <xpath expr="//notebook[last()]" position="inside"> 
       <page string="My tab" name="mytab"> 
        ... 
       </page> 
      </xpath> 
+0

또는 내 자신의 필드와 탭으로 res_partner 양식보기를 사용자 정의 할 수있는 방법이 있습니까? – majid

+0

이것은 또 다른 이야기입니다 :) 나는 내 대답을 업데이트 할 것입니다. – simahawk

0

을 api.multi 데프 open_second_class (자기) @ : 교류 = self.env . 'ir.model.data'] xmlid_to_res_id ('account.invoice_form'raise_if_not_found = TRUE) write_obj ac.create = ({ 'partner_id'self.name_id}) 회계사 = O 자체에 대한 거짓 : 회계사 = o.id 결과 = { '이름': '2 등급', '뷰 타입': '형태', 'res_model': 'account.invoice', 는 'RES_ID', 는 'VIEW_ID'write_obj.id : 거짓, '컨텍스트'{ 'default_id_tbl1': 회계사}, '유형': 'ir.actions.act_window', 'view_mode': '형태', '대상': '새', '도메인': '[]' } 반환 결과 당신이있어

+0

답변을 "코드"로 "포맷"하고 (수정 버튼이 있음) 코드를 설명하기 위해 몇 가지 세부 사항을 추가하십시오 –