这是python代码:
@api.multi
def convert_bin_dec(self):
for record in self:
print "Je suis dans la fonction convert"
# on récupère les valeur booleenne pour chaque enregistrement
value_monday = record.half_pension_monday
value_tuesday = record.half_pension_tuesday
value_thursday = record.half_pension_thursday
value_friday = record.half_pension_friday
# On assigne une valeur si c'est True ou False à chaque jours
if value_monday:
monday_decimal = 1
else:
monday_decimal = 0
if value_tuesday:
tuesday_decimal = 2
else:
tuesday_decimal = 0
if value_thursday:
thursday_decimal = 8
else:
thursday_decimal = 0
if value_friday:
friday_decimal = 16
else:
friday_decimal = 0
# On fait le total
total_decimal = monday_decimal + tuesday_decimal + thursday_decimal + friday_decimal
...
这是同一个类别中的字段:
half_pension_monday = fields.Boolean(string='Monday', copy=False, store=False)
half_pension_tuesday = fields.Boolean(string='Tuesday', copy=False, store=False)
half_pension_wednesday = fields.Boolean(string='Wednesday', copy=False, readonly="1", store=False)
half_pension_thursday = fields.Boolean(string='Thursday', copy=False, store=False)
half_pension_friday = fields.Boolean(string='Friday', copy=False, store=False)
在我看来,尽管我检查一周中的某些天,但知道我的字段具有store = False选项,变量“ total_decimal”的值为零。
我想知道是否有可能解决此问题,而无需将字段保存在数据库中(store = True)?
我的目标不是在数据库中记录星期几。
提前谢谢!
编辑: 新功能:
# Fonction qui permet de convertir en binaire
@api.onchange('half_pension')
@api.multi
def convert_bin_dec(self):
# for record in self:
for record in self:
if record.half_pension:
print "Je suis dans la fonction convert"
# on récupère les valeur booleenne pour chaque enregistrement
value_monday = record.half_pension_monday
value_tuesday = record.half_pension_tuesday
value_thursday = record.half_pension_thursday
value_friday = record.half_pension_friday
# On assigne une valeur si c'est True ou False à chaque jours
if value_monday:
monday_decimal = 1
else:
monday_decimal = 0
if value_tuesday:
tuesday_decimal = 2
else:
tuesday_decimal = 0
if value_thursday:
thursday_decimal = 8
else:
thursday_decimal = 0
if value_friday:
friday_decimal = 16
else:
friday_decimal = 0
# On fait le total
total_decimal = monday_decimal + tuesday_decimal +
thursday_decimal + friday_decimal
# record.half_pension_days_value = total_decimal
# self.half_pension_days_value = total_decimal
print total_decimal
half_pension_days_value 是具有 store = True
的字段答案 0 :(得分:0)
我想知道是否有可能解决此问题,而无需将字段保存在数据库中(store = True)?
最简单的答案是:不。
不存储字段的目的是针对其值取决于上下文的计算字段。如果它们的值不取决于上下文,那么出于性能原因,即使对于那些值,您也应该存储它们。