Python 从一个模型到另一个模型的任意一个模型

Python 从一个模型到另一个模型的任意一个模型,python,openerp,odoo-8,Python,Openerp,Odoo 8,为了将数据从mro.request传输到mro.order我做了一个名为action\u confirm的函数,同时为了转换我的工作流程,创建一个新的对象也非常有效,从char,date传输数据。。。但是为了填充一个one2many字段,它不起作用,我没有得到任何错误 我的按钮类型是workflow 我知道我遗漏了一些东西,只是想不出来。在下面,你可以找到我的代码。。。致意 我的模型: 一,/ 二,/ 三,/ 试试这个: @api.multi def动作确认(自我): 或_object=self

为了将数据从
mro.request
传输到
mro.order
我做了一个名为
action\u confirm
的函数,同时为了转换我的工作流程,创建一个新的对象也非常有效,从
char
date
传输数据。。。但是为了填充一个
one2many
字段,它不起作用,我没有得到任何错误

我的按钮类型是
workflow
我知道我遗漏了一些东西,只是想不出来。在下面,你可以找到我的代码。。。致意

我的模型:

一,/

二,/

三,/

试试这个:

@api.multi
def动作确认(自我):
或_object=self.env['mro.order']
##正在创建维护订单对象
obj={
“州”:“草案”,
“计划日期”:自执行日期,
“干预”:自我干预,
“资产id”:self.asset\u id.id,
“description”:self.description
}
#在创建模型之前,请添加列表
#要在干预中创建的记录的数量
列表\干预=[]
对于自我干预中的行:
艺术={}
艺术['desc']=线条描述
艺术['intervention_type']=line.intervention_type.name
#X2多字段接受凸轮命令列表(命令,值1,值2)
#用于在cammand中创建过程0和在value2中创建字典
list_intervention.append((0,0,art))
update({#将命令列表添加到obj
“干预”:列出干预措施,
})
#现在create方法也将在干预中创建记录
或_object=或_object.create(obj)
write({'state':'run'})
返回真值

你尝试过@Zety在这里提出的方法吗?它不起作用。非常感谢你,实际上我确实找到了那种解决方案,但我不知道如何准确地使用。。。再次感谢。你救了我一天。
 class mro_request(osv.osv):

    _name = 'mro.request'

    _columns = {
    'intervention': fields.one2many('fleet.service.type.line','intervention_id','Order réparations', help='Cost type purchased with this cost'),
    'priority'    : fields.selection([('0', 'Not urgent'), ('1', 'Normale'), ('2', 'Urgent'), ('3', 'Tres Urgent'),('4', 'Critique')], 'Priorité',
        select=True, readonly=True, states=dict.fromkeys(['draft', 'confirmed'], [('readonly', False)])),
    }

    @api.multi
    def action_confirm(self):
        or_object = self.env['mro.order']
        affectation_line = self.env['fleet.service.type.line']


    ## creating maintenance order object is working
        obj = {'state': 'draft', 'date_planned' : self.execution_date,'intervention': self.intervention,
            'asset_id' : self.asset_id.id, 'description': self.description}
        purchase_id = or_object.create(obj)  


        list_intervention=[]
        for line in self.intervention :
            art = {}

            art['desc'] = line.description
            art['intervention_type'] = line.intervention_type.name

            art_id = affectation_line.create(art) 
            list_intervention.append(art_id)

        self.write({'state': 'run'})

        return True
 class mro_order(osv.osv):

    _name = 'mro.order'

    _columns = {
    'intervention': fields.one2many('fleet.service.type.line','intervention_id','Order réparations', help='Cost type purchased with this cost'),
    'priority'    : fields.selection([('0', 'Not urgent'), ('1', 'Normale'), ('2', 'Urgent'), ('3', 'Tres Urgent'),('4', 'Critique')], 'Priorité',
        select=True, readonly=True),
    }
class fleet_service_type_line(osv.Model):
    _name = 'fleet.service.type.line'
    _description = 'Type of services available on a vehicle'
    _columns = {

    'intervention_id'   : fields.many2one('mro.request'),
    'intervention_type' : fields.many2one('fleet.service.type','Type Intervention'),
    'intervention_mro' : fields.many2one('mro.order','Type Intervention'),
    'user_id'           : fields.many2one('res.users', 'Chef Atelier', help="Workshop Chief"),
    'desc' : fields.char('desc'),

    }