2017-07-03 91 views
1

我有兩個模型在我的orm,即_service & _apple。我想要的是我想創建自動寫入的字段的_apple記錄。例如,從銷售訂單我們可以創建發票,並且在創建發票時,發票的某些字段會自動生成爲與銷售訂單中相同的記錄。自動創建另一個模型的記錄,同時創建一個記錄的形式 - Odoo 10

我所做的是:

我的服務模式

class _service(models.Model): 
_name = 'se.service' 
_rec_name = "service_name" 

name = fields.Char(
    'Reference', copy=False, readonly=True, default=lambda x: _('New')) 
service_name = fields.Char("Service Name", required=True) 
service_department = fields.Many2one('hr.department', "Department Name", required=True, help="Department Name of employee") 
service_description = fields.Text("Description", required=True) 
service_remarks = fields.Text("Remarks") 
service_methodology = fields.Html(string="Methodology") 
service_id = fields.One2many('se.objective', 'service_id', string="Objectives", required=True) 

@api.model 
def create(self, valuees): 
    if valuees.get('name', _('New')) == _('New'): 
     valuees['name'] = self.env['ir.sequence'].next_by_code('se.service') or _('New') 
    return super(_service, self).create(valuees) 

def _create_apple(self): 
    inv_obj = self.env['se.apple'] 
    self.ensure_one() 
    se = _service 
    invoice = inv_obj.create({ 
     'apple_name': se.service_name, 
     'apple_description': se.service_description, 
     'apple_remarks': se.service_remarks 
    }) 
    return invoice 


def create_apple(self): 
    self._create_apple() 

我_apple型號

class _apple(models.Model): 
    _name = 'se.apple' 

    apple_name = fields.Char("Apple Name") 
    apple_description = fields.Text("Remarks Apple") 
    apple_remarks = fields.Text("Remarks Apple") 

我se.service形式:

<header> 
    <button name="create_apple" string="Create Apple" type="object" class="btn-primary"/> 
</header> 

如果我這樣做如下: 1.我在se.service中創建一個表單。 2.我保存表格。 3.我點擊create_apple按鈕。

我想到: 1. se.apple 2.記錄自動創建的記錄將有apple_name,apple_description & apple_remarks爲我填補了se.service自動生成。

+0

那麼,什麼問題? –

+0

我寫的代碼不起作用。我想知道我錯過了什麼,或者我想要的方式來編寫實際上以我的方式工作的方法。 –

+0

您有任何錯誤? –

回答

0

你有自己的當前服務記錄,所以你可以直接使用它。 試試這個更新的方法。

def _create_apple(self): 
     inv_obj = self.env['se.apple'] 
     self.ensure_one() 
     invoice = inv_obj.create({ 
      'apple_name': self.service_name, 
      'apple_description': self.service_description, 
      'apple_remarks': self.service_remarks 
     }) 
     return invoice 
相關問題