您可以删除视图中的工作表节点,以便将宽度扩大到 100%。只需将此函数添加到您的模型中:
from lxml import etree
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
res = models.Model.fields_view_get(self, cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=submenu)
if view_type == 'form':
doc = etree.XML(res['arch'])
for sheet in doc.xpath("//sheet"):
parent = sheet.getparent()
for child in sheet:
parent.append(child)
parent.remove(sheet)
res['arch'] = etree.tostring(doc)
return res
这是my question 4 周前的回答
如果你有一个消息框,你可能想用这个来保持布局的顺序
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
""" Remove the sheet node keeping the elements inside """
res = models.Model.fields_view_get(self, cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=submenu)
if view_type == 'form':
doc = etree.XML(res['arch'])
for sheet in doc.xpath("//sheet"):
for oe_chatter in doc.xpath("//div[@class='oe_chatter']"):
sheet.append(oe_chatter)
parent = sheet.getparent()
for child in sheet:
parent.append(child)
parent.remove(sheet)
res['arch'] = etree.tostring(doc)
return res
更新
还有一个社区模块可以达到类似的效果web_sheet_full_width