2017-11-02 14 views
1

purchase.order를 상속 받고 선택 필드 (고정, 백분율) 및 부동 필드를 추가했습니다. 백분율을 선택할 때 float 값은 100보다 커서는 안되며 오류가 발생해야합니다.odoo의 선택에 따라 Usererror를 높이는 방법은 무엇입니까?

어떻게하면됩니까?

내 코드

class PurchaseOrder(models.Model): 
_inherit = "purchase.order" 
_description="Purchase the products" 

discount=fields.Selection([('fixed','fixed Price'),('percentage','Percentage')],string="Discount") 
amount=fields.Float("Amount") 

@api.multi 
@api.constrains('amount') 
def Limited(self): 
    if self.discount=='percentage'and self.amount > 100: 
     raise UserError(_('Please enter proper amount')) 
+1

귀하의 코드는 나에게 좋은 것 같습니다. 현재 출력으로 질문을 편집 할 수 있습니까? –

+0

@Odedra 한 번 오류가 표시됩니다. 다른 방법을 제안하십시오 – Naveen

+1

당신은 _ 변경 방법으로 갈 수 있습니다. –

답변

0

코드를 다음과 같이 시도이다.

@api.onchange('amount','discount') 
def onchange_amount_discount(self): 
    if self.discount=='percentage' and self.amount > 100: 
     raise UserError(_('Please enter proper amount') 

참고 : 또는 할인 필드를 업데이트 할 때

onchange를 메소드가 실행됩니다. 당신이 코드를 시도 할 수 있습니다

+0

투표를위한 어떤 이유? –

1

:

@api.one 
@api.constrains('amount') 
def Limited(self): 
    if self.discount=='percentage' and self.amount > 100: 
     raise UserError(_('Please enter proper amount'))