2015-01-28 4 views
1

내가 여기서 잘못하고있는 것이 궁금합니다. 내가 다른 객체에있는 객체에 액세스하려고합니다.다른 클래스의 객체에 액세스

그래서 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

으로 시도? – Kevin

+0

@ 케빈 예, 나는 그것을 게시에 포함 시켰습니다. 누락 된 정보가 유감입니다. – RandomPerson

답변

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) 
+0

그러나이 코드는 방법이 올바른 클래스에서 작업하는 것으로 가정합니다. 왜냐하면 내가 판매하는 방법이 필요해 .order와 나는 res.partner에서 xx_manager를 얻고있다. – RandomPerson

+1

네가 할 수있다. 'sale.order'에 당신은'partner_id'가있다.'res.partner'와 관계가있다. partner_id를 작성하여 조건을 확인하십시오. –

+0

이렇게하면 다음과 같은 오류가 발생합니다 : AttributeError : 'list'객체에 'get'속성이 없습니다 – RandomPerson

관련 문제