Openerp 在树中显示one2many的值

Openerp 在树中显示one2many的值,openerp,Openerp,我有一张树桌在另一张树桌里面。当我编辑时,嵌套表会正确地显示在单元格内部。但当我只查看值时,单元格中只有逗号分隔的ID(而不是嵌套表)。如何在单元格中显示表格,或者至少在视图模式下显示格式化的值 嵌套表: <record id="view_mrp_repair_line_item_tree" model="ir.ui.view"> <field name="name">mrp.repair.line.item.tree</field> <

我有一张树桌在另一张树桌里面。当我编辑时,嵌套表会正确地显示在单元格内部。但当我只查看值时,单元格中只有逗号分隔的ID(而不是嵌套表)。如何在单元格中显示表格,或者至少在视图模式下显示格式化的值

嵌套表:

<record id="view_mrp_repair_line_item_tree" model="ir.ui.view">
    <field name="name">mrp.repair.line.item.tree</field>
    <field name="model">mrp.repair.line.item</field>
    <field name="type">tree</field>
    <field name="arch" type="xml">
        <tree string="Repair line items" editable="bottom">
            <field name="description" />
            <field name="price" />
        </tree>
    </field>
</record>
class mrp_repair_line_item(osv.osv):
    _name = 'mrp.repair.line.item'

    _columns = {
        'repair_line_id': fields.many2one('mrp.repair.line', 'Repair Line', required=True),
        'description': fields.char('Description', required=False, size=160),
        'price': fields.float('Price', required=False)
    }

mrp_repair_line_item()

您可以创建一个函数字段,该字段返回表示值的单个字符串,并显示该字段。例如:
[description1:Price1],[description2:Price2],…

谢谢您的回复。我忘记告诉(但从代码示例中可以明显看出)我使用了行编辑(
editable=“bottom”
)。所以如果我没有弄错的话,我不能为编辑模式和视图模式定义两个不同的视图。当我像你告诉我的那样创建功能字段时,它在编辑和查看模式下都是可见的,并且是不可编辑的。我说得对吗?显示ID而不是表格是否正常?您可以定义一个函数
fnct\u inv
,该函数通过解析字符串和修改one2many对象来实现函数字段的写入操作。这样,该字段将是可编辑的。为了简化编辑和解析,您可以使用类似字典的格式:
description1:Price1,description2:Price2,…
class mrp_repair_line_item(osv.osv):
    _name = 'mrp.repair.line.item'

    _columns = {
        'repair_line_id': fields.many2one('mrp.repair.line', 'Repair Line', required=True),
        'description': fields.char('Description', required=False, size=160),
        'price': fields.float('Price', required=False)
    }

mrp_repair_line_item()