Python 从另一个类访问对象
我想知道我做错了什么。我正在尝试访问另一个对象中的对象 因此,对于res.partner,我制作了一个自定义模块,它提供了一个名为xx_manager的额外字段 现在在sale.order中,我想检查字段是否为空,因此我想我只需执行以下操作: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
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。我会更新创建方法,这样你们会有更好的想法。