2017-03-07 2 views
1

Vehicle이라는 모델이 있으며 마법사 od_add_new_vehicle을 만들었습니다. 마법사의 xml보기에서 작업을 만들었습니다. 내가 데이터를 저장할 수 있도록 어떻게 permanantlyodoo에서 임시 모델 (마법사)을 사용하여 테이블에 데이터를 삽입하는 방법 10

class Vehicle(models.Model): 
    _name = 'transport.vehicle' 

    name = fields.Char(string="Name", required=True) 
    description = fields.Text() 
    reg_date = fields.Date() 
    department = fields.Char() 
    available = fields.Boolean() 


class od_add_new_vehicle(models.TransientModel): 
    _name = 'od.add.new.vehicle' 
    _description = 'Add new vehicle' 
    name = fields.Char('vehicle name') 
    description = fields.Text('Description') 
    reg_date = fields.Date('Reg date') 
    department = fields.Char('Department') 
    available = fields.Boolean('Available') 

    def _default_veh(self): 
     return self.env['transport.vehicle'].browse(self._context.get('active_ids')) 

    v_id = fields.Many2one('transport.vehicle', string="Vehicle ref", required=True, default=_default_veh) 

    @api.multi 
    def od_add_book(self): 
     self.v_id.name = self.name 
     self.v_id.description = self.description 
     self.v_id.reg_date = self.reg_date 
     self.v_id.department = self.department 
     self.v_id.available = self.available 
     self.v_id.member_id = self.member_id 
     return {} 

답변

1

다음 마법사에서/삽입 데이터를 업데이트하는 간단한 방법입니다 마법사를 차량 모델을 연결 않습니다.

  • 버튼 타입이 기록 설정 업데이트 할 평면에서
  • 사용 active_ids을 파이썬 함수를 호출 객체 될 것 형태로보기 바닥 글에 추가 버튼을 클릭합니다. 예를 들어

:

<footer> 
    <button name="insert_data" string="Insert/Update data" type="object" 
     class="oe_highlight"/> 
    or 
    <button string="Cancel" class="oe_link" special="cancel" /> 
</footer> 

평면 기능

답장을 보내
@api.multi 
def insert_data(self): 

    for record in self.env['target.table.name'].browse(self._context.get('active_ids', [])): 

     #here you can access target table fields using *record* variable 

     record.field_name = wizard.field_name 

    return True 
+0

Odedra 감사합니다. 내 질문에 언급 한 코드로 시도했다, 그것은 나에게 다음과 같은 오류 "ValueError : 예상 싱글 톤"준다. 내 요구 사항은 새로운 행을 삽입하는 것입니다. – PsP

+0

코드를 확인하십시오. 어딘가에 * Many2one * 필드가 하나 이상의 ID를 가져옵니다. * 따라서 레코드 세트 ID가 1 개만 필요합니다. –