Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从另一个类访问对象_Python_Openerp - Fatal编程技术网

Python 从另一个类访问对象

Python 从另一个类访问对象,python,openerp,Python,Openerp,我想知道我做错了什么。我正在尝试访问另一个对象中的对象 因此,对于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.x

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

因此,对于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)

那么,你收到了错误消息还是什么?@Kevin是的,我已经在帖子中包含了它,很抱歉丢失了信息,但是这段代码假设你在类中工作,方法是正确的?因为我需要在销售中使用方法。订单,我正在从res.partner获得xx_经理是的,您可以在
sale.order
中执行此操作,您有
合作伙伴id,
它与
res.partner
有关系,因此从中获取partner\u id并检查它的条件。如果我这样做,我会得到以下错误:AttributeError:“list”对象没有属性“get”方法def\u action\u按钮在sales中。订单类流错误,请尝试在该方法上使用create方法don't do。我会更新创建方法,这样你们会有更好的想法。