Python 如何将一个模型的价值传递给另一个模型?

Python 如何将一个模型的价值传递给另一个模型?,python,openerp,odoo-8,odoo-9,odoo-10,Python,Openerp,Odoo 8,Odoo 9,Odoo 10,我创建了一个自定义模块,在sale.order中添加字段project和contract\u no,在purchase模块中添加字段contract\u num和rel\u sale\u order。现在,在采购订单中选择“相关销售订单”时,自动将“合同号”从销售订单传递给采购订单。怎么做? 我的代码: .py from openerp import models, fields class SaleLink(models.Model): _inherit = 'sale.order' p

我创建了一个自定义模块,在sale.order中添加字段project和contract\u no,在purchase模块中添加字段contract\u num和rel\u sale\u order。现在,在采购订单中选择“相关销售订单”时,自动将“合同号”从销售订单传递给采购订单。怎么做? 我的代码:

.py

from openerp import models, fields

class SaleLink(models.Model):

_inherit = 'sale.order'

project = fields.Char(string='Project', help='Project details')
contract_no = fields.Char(string='Contract No')


class PurchaseLink(models.Model):

_inherit = 'purchase.order'

contract_num = fields.Char('sale.order', string='Contract number')
rel_sale_order = fields.Many2one('sale.order', string='Related Sales Order', required=True)
.xml

  <?xml version="1.0" encoding="UTF-8"?>
<openerp>

<data>
    <record model="ir.ui.view" id="sale_linker_custom">
        <field name="name">sale.order.custom.form.inherited</field>
        <field name="model">sale.order</field>
        <field name="inherit_id" ref="sale.view_order_form"/>
        <field name="arch" type="xml">
                <xpath expr="//field[@name='partner_id']" position="after">
                   <field name="project"/>
                   <field name="contract_no"/>
                </xpath>
                <xpath expr="//page[@string='Other Information']" position="after">
                    <page string="Related Purchase Orders">

                    </page>
                </xpath>
        </field>
    </record>`


    <record model="ir.ui.view" id="purchase_linker_custom">
        <field name="name">purchase.order.custom.form.inherited</field>
        <field name="model">purchase.order</field>
        <field name="inherit_id" ref="purchase.purchase_order_form"/>
        <field name="arch" type="xml">
            <xpath expr="//field[@name='partner_ref']" position="after">
                <field name="contract_num"/>
            </xpath>
                <xpath expr="//field[@name='dest_address_id']" position="after">
                    <field name="rel_sale_order"/>
                </xpath>
        </field>
    </record>

</data>
</openerp>

sale.order.custom.form.inherited
销售订单
`
purchase.order.custom.form.inherited
采购订单

您必须在采购订单相关合同编号中添加另一个字段

rel_contract_no = fields.Char(related='rel_sale_order.contract_no)
查看时传递此字段。

contract\u num=fields.Char(string='contract number',rel\u sale\u order.contract\u no')找到了答案^^^