Odoo 添加功能到默认创建操作
Odoo add function to defaul create action
我有这个功能
def add_default_docs(self):
for r in self:
id = self.id
labs_archive_journal_type_id = r.journal_type_id.id
archive_doc_name_ids = self.env['labs.archive.journal_type'].search([('id', '=', labs_archive_journal_type_id)]).archive_doc_name_ids
for n in archive_doc_name_ids:
self.env['labs.archive.document'].create({
"archive_journal_id": id,
"name": n.id
})
当我按下'Create'按钮并创建新记录时如何调用它?
无论您想在创建新模型时触发此功能的哪个模型,如果该模型是 odoo 内置的,或者如果您自己的模型,则继承该模型,在该模型定义中继承 create
方法,如下所示:
class ClassName(models.Model)
_inherit = 'model.name'
@api.multi
def create(self, vals):
records = super(ClassName, self).create(vals)
records.add_default_docs()
return records
如果您的模型是在您自己的自定义模块中定义的,您只需在该模型定义中插入此创建函数即可,您无需在新的 class.
中继承
我有这个功能
def add_default_docs(self):
for r in self:
id = self.id
labs_archive_journal_type_id = r.journal_type_id.id
archive_doc_name_ids = self.env['labs.archive.journal_type'].search([('id', '=', labs_archive_journal_type_id)]).archive_doc_name_ids
for n in archive_doc_name_ids:
self.env['labs.archive.document'].create({
"archive_journal_id": id,
"name": n.id
})
当我按下'Create'按钮并创建新记录时如何调用它?
无论您想在创建新模型时触发此功能的哪个模型,如果该模型是 odoo 内置的,或者如果您自己的模型,则继承该模型,在该模型定义中继承 create
方法,如下所示:
class ClassName(models.Model)
_inherit = 'model.name'
@api.multi
def create(self, vals):
records = super(ClassName, self).create(vals)
records.add_default_docs()
return records
如果您的模型是在您自己的自定义模块中定义的,您只需在该模型定义中插入此创建函数即可,您无需在新的 class.
中继承