Python 标签字段问题-OpenErp

Python 标签字段问题-OpenErp,python,xml,view,orm,openerp,Python,Xml,View,Orm,Openerp,我需要在OpenErp中显示字段的标签或标题 我在购买模块中有一段代码,它从表单中检索公司id、合作伙伴id、日期订单等,然后以串联方式显示这些字段值: def _combinalos(self, cr, uid, ids, field_name, args, context=None): values = {} for id in ids: rec = self.browse(cr, uid, [id], context=context)[0]

我需要在OpenErp中显示字段的
标签
标题

我在
购买
模块中有一段代码,它从表单中检索
公司id、合作伙伴id、日期订单等
,然后以串联方式显示这些字段值:

def _combinalos(self, cr, uid, ids, field_name, args, context=None):
    values = {}
    for id in ids:
        rec = self.browse(cr, uid, [id], context=context)[0]
        values[id] = {}
        values[id] = '0%s-%s%s-%s-%s' %(rec.company_id, rec.partner_id, rec.soli_cant, rec.dest, rec.date_order)
    return values
然后我调用这个函数,如下所示:

        'nombre' : fields.function(_combinalos, type='char', string='Nombre', arg=('empresa','provee','soli_cant', 'dest', 'anho'), method=True),
当然还有XML视图代码:

<h1>
    <label string="Request for Quotation " attrs="{'invisible': [('state','not in',('draft','sent'))]}"/>
    <label string="Purchase Order " attrs="{'invisible': [('state','in',('draft','sent'))]}"/>
    <field name="nombre" class="oe_inline" readonly="1" />
</h1>

作为函数字段的
nombre

问题是,当我保存文档时,它应该显示这些字段的名称或标签,但只显示字段的ID或其他内容:

那么,我如何才能显示这些领域的“名称”或“标签”?它可能是xml字段调用中的某个属性吗

提前感谢。

1)标签不显示可能是因为您没有为“属性指定“
”,请像这样使用它

<h1>
    <label string="Request for Quotation " for="nombre" attrs="{'invisible': [('state','not in',('draft','sent'))]}"/>
    <label string="Purchase Order " for="nombre" attrs="{'invisible': [('state','in',('draft','sent'))]}"/>
    <field name="nombre" class="oe_inline" readonly="1" />
</h1>
这将仅在编辑模式下显示标签,一旦保存记录,标签将变为不可见

2)问题是,当我保存文档时,它应该向我显示这些字段的名称或标签,但只向我显示字段的ID或其他信息:

这是因为函数中的问题
\u combinalos
返回浏览对象rec.company\u id,如果您想要
id
返回公司的浏览对象,您应该像返回rec.company\u id.id一样返回

def _combinalos(self, cr, uid, ids, field_name, args, context=None):
     values = {}
     for id in ids:
         rec = self.browse(cr, uid, [id], context=context)[0]
         values[id] = {}
         values[id] = '0%s-%s%s-%s-%s' %(rec.company_id.id, rec.partner_id.id, rec.soli_cant, rec.dest, rec.date_order)
    return values

非常感谢,非常好用,顺便问一下,有没有办法在“日期订单”中只显示“年份”部分?仅以“2013”为例,而不是“2013-09-23”?“date_order”是“date”类型字段使用rec.date_order.year了解有关datetime的更多信息,请参考。非常感谢您的帮助!顺便说一句,在“日期顺序”格式的情况下,它没有“年”属性
def _combinalos(self, cr, uid, ids, field_name, args, context=None):
     values = {}
     for id in ids:
         rec = self.browse(cr, uid, [id], context=context)[0]
         values[id] = {}
         values[id] = '0%s-%s%s-%s-%s' %(rec.company_id.id, rec.partner_id.id, rec.soli_cant, rec.dest, rec.date_order)
    return values