OpenERP - 将另一个表中的相关字段引入树视图

时间:2015-02-06 14:32:24

标签: openerp odoo

我试图通过相关的x_nk_class_desc字段将product.category表中的“name”字段引入树视图。这是我的py代码:

class mrp_bom(osv.osv):
    _inherit = 'mrp.bom'
        _name = 'mrp.bom'

        _columns = {
                'x_nk_default_code': fields.related('product_id', 'default_code', type='char', relation='product.product', string='Part Number', store=True, readonly=True),
                'x_nk_class_desc': fields.related('product_tmpl_id', 'categ_id', type='char', relation='product.template', string='Class Description', store=True, readonly=True),
        }

这是我的XML代码:

<record id="adamson_mrp_bom_tree_view_2" model="ir.ui.view">
    <field name="name">adamson.mrp.bom.tree.view.2</field>
    <field name="model">mrp.bom</field>
    <field name="type">tree</field>
    <field name="inherit_id" 
                 ref="adamson_systems_engineering.adamson_mrp_bom_tree_view" 
                 />
    <field name="arch" type="xml">
        <xpath expr="/tree/field[@name='product_id']" position="replace">
            <field name="x_nk_default_code" />
            <field name="x_nk_class_desc" />                            
        </xpath>
    </field>
</record>

问题是我在x_nk_class_desc列中得到“product.category(209,)”作为结果。我期待product.category表中“name”列的值。如何实现这一目标?提前谢谢。

1 个答案:

答案 0 :(得分:2)

尝试使用此代码:

class mrp_bom(osv.osv):
    _inherit = 'mrp.bom'
    _name = 'mrp.bom'

    _columns = {
        'x_nk_default_code': fields.related('product_id', 'default_code', type='char', relation='product.product', string='Part Number', store=True, readonly=True),
        'x_nk_class_desc': fields.related('product_id', categ_id', 'name', type='char', string='Class Description', store=True, readonly=True),
    }

Here is an example of related field in Odoo.