python-标签字段问题-OpenErp
作者:互联网
我需要在OpenErp中显示字段的标签或标题.
我在购买模块中有一段代码,可以从表单中检索company_id,partner_id,date_order等,然后以串联的方式显示这些字段的值:
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>
作为函数域.
问题是,当我保存文档时,它应该向我显示这些字段的名称或标签,而只是向我显示该字段的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>
或者您可以在div外部h1标签中使用oe_editonly类,例如.
<div class="oe_title">
<div class="oe_edit_only">
<h1> Your code </h1>
</div>
</div>
保存记录标签后,这将仅在编辑模式下显示标签.
2)问题是,当我保存文档时,它应该向我显示这些字段的名称或标签,但只是向我显示该字段的ID之类的东西:
这是因为函数_combinalos中的问题返回了浏览对象rec.company_id,即如果要获取id,则返回公司的浏览对象,您应该返回rec.company_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
标签:openerp,orm,xml,view,python 来源: https://codeday.me/bug/20191030/1967486.html