我希望通过将active_id从上下文传递到fields_view_get来隐藏基于模型res.partner的字段“type”的创建按钮。
但是,我无法访问任何字段,请点击“id”字段。我使用记录器记录字段的输出/值
我的代码:
class sale_order(models.Model):
_description = 'fields view get'
_inherit = "sale.order"
@api.model
def fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False):
_logger = logging.getLogger(__name__)
res = super(sale_order, self).fields_view_get(view_id=view_id, view_type=view_type, toolbar=toolbar, submenu=submenu)
active_id = self.env.context.get('active_id', False)
customer = self.env['res.partner'].browse(active_id)
_logger.info('sale__customer.id: %d', customer.id)
_logger.info('sale__customer.name : %d', customer.name)
#I am getting output from the first log, but not the second
doc = etree.XML(res['arch'])
if view_type == 'tree':
for node_form in doc.xpath("//tree"):
node_form.set("create", 'false')
res['arch'] = etree.tostring(doc)
return res
sale_order()
我从第一个日志而不是第二个日志获得输出。
我可以看到customer.name为false但实际上并非如此。
如何访问客户对象中的字段?