我想知道我在这里做错了什么。我正在尝试访问另一个对象中的对象。
因此,对于res.partner,我创建了一个自定义模块,它提供了一个名为xx_manager的额外字段。
现在在sale.order我想检查字段是否为空,所以我想我只需要这样做:
def action_button_confirm(self, cr, uid, ids, context=None):
partner = self.pool.get('res.partner')
if not partner.xx_manager:
raise osv.except_osv(_('Warning!'), _('No account manager has been set'))
return super(sale_order, self).create(cr, uid, ids, context=context)
我做错了什么?
提前致谢
编辑:
我得到的错误:
AttributeError: 'res.partner' object has no attribute 'xx_manager'
我的res.partner自定义模块:
class res_partner(osv.osv):
_inherit="res.partner"
_columns = {
'xx_manager': fields.many2one('res.users', string='Account Manager'),
}
答案 0 :(得分:1)
是的,因为你忘了浏览当前的记录。因此,浏览当前记录并从中获取合作伙伴ID,然后根据需要检查合作伙伴条件。
尝试使用此代码
def action_button_confirm(self, cr, uid, ids, context=None):
partner = self.browse(cr, uid, ids[0], context=context)
if partner.partner_id and not partner.partner_id.xx_manager:
raise osv.except_osv(_('Warning!'), _('No account manager has been set'))
return super(sale_order, self).action_button_confirm(cr, uid, ids, context=context)