1
jrestant
には、2つの日付の間の日数も返されますが、正の数でなければならないという制約を実行したいと考えています。
フィールドに制約を設ける方法は?フィールド上の制約を作る方法
def compa_date(self,cr,uid,ids,args,fields,context=None):
res = {}
for self_brow in self.browse(cr,uid,ids,context):
if self_brow.Date_ouv_pli or self_brow.date_depot:
date_debut = datetime.strptime(self_brow.Date_ouv_pli,'%Y-%m-%d')
date_fin = datetime.strptime(self_brow.date_depot,'%Y-%m-%d')
res[self_brow.id] = (date_debut - date_fin).days
return res
_columns = {
'date_depot' : fields.date('Date dépot de soumission'),
'Date_ouv_pli' : fields.date('Date Ouverture Plis'),
'jrestant': fields.function(compa_date,string='Jours restant')
}
def _check(self, cr, uid, ids, context=None):
for product in self.read(cr, uid, ids, ['jrestant'], context=context):
if jrestant < '0' :
return False
return True
_constraints = [(_check, 'Days must be positive', ['jrestant'])]
ここに「jrestant」は機能/計算フィールドです。 'jrestant':fields.function(compa_date、string = 'Jours restant') これで制約は適用できません。 – prakash