Вот код 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)
На мой взгляд, хотяЯ проверяю некоторые дни недели, моя переменная "total_decimal" дает значение ноль, зная, что мои поля имеют опцию store = False.
Я хотел бы знать, возможно ли обойти эту проблемукроме сохранения полей в базе данных (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