2015-11-03 33 views
1

創建一個例外,我想重置它,因爲我試過很多的替代品是不會發生後場,但它不值錢......例如:異常後場復位或清理

@api.onchange('time_date') 
def onchange_date_time(self): 

     print 'working till now ----------------------------' 
     if self.time_date: 
      time_date = datetime.datetime.strptime(self.time_date, "%Y-%m-%d").date() 
      if time_date<datetime.date.today(): 
       raise except_orm('Error','Please enter the correct date') 
       self.time_date = None 
      else: 
       pass 

上面的代碼我當輸入日期不是今天的日期在酒店模塊中時,我使用它來創建一個例外time_date指的是登記日期,但是它創建了一個例外,但日期字段沒有得到重置。

+0

爲什麼你能不能提高異常之前做呢? – aa333

+0

嗨aa333我試過,但它沒有幫助......... –

+0

你是什麼意思沒有幫助?結果是什麼?你在期待什麼?量化解釋您的問題是獲得SO幫助的必要步驟。 – aa333

回答

0

如果您使用onchange(),則可以使用警告而不是異常。

試試這個: -

@api.onchange('time_date') 
def _onchange_date_time(self): 
    if self.time_date: 
     time_date = datetime.datetime.strptime(self.time_date, "%Y-%m-%d").date() 
     if time_date<datetime.date.today(): 
      self.time_date = False 
      return { 
       'warning': { 
        'title': "Error", 
        'message': "Please enter the correct date", 
       } 
      } 
     else: 
      pass 

希望這有助於。

+0

嗨Baiju感謝您回覆我試圖使用警告,而不是例外,但它不工作 –

0

試試這個:

return { 

     'warning': {'title': 'Error!', 'message': 'Please enter the correct date'}, 
      'value': { 
        'time_date': None, 
        'flat': None, 
        } 
       }