从另一个 class 访问对象

Access objects from another class

我想知道我做错了什么。我正在尝试访问另一个对象中的对象。

所以对于 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'),
}

是的,因为您忘记浏览当前记录。因此,浏览当前记录并从中获取合作伙伴 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)