это моя функция:
@api.multi
def write(self, vals):
if vals['Amount'] > 0:
vals['Amount_date'] = fields.Datetime.now()
record=super(MedicalLab, self).write(vals)
self.env['medical.journal'].create({
'patient_id': record.patient_id,
'cat': record.cat,
'test_type_id': record.test_type_id,
'state_money':record.state_money,
'Amount_in_date':record.Amount_date,
'type_In': "Reste",
'Amount_In':record.Amount,
'user_id': record.user_id,
'type_lev1': "IN",
})
return record
это ошибка:
AttributeError: объект 'bool' не имеет атрибута 'patient_id'
РЕДАКТИРОВАНИЕ:
@api.multi
def write(self, vals):
if vals['Amount'] > 0:
vals['Amount_date'] = fields.Datetime.now()
self.env['medical.journal'].create({
'patient_id': vals['patient_id'],
'cat': vals['cat'],
'test_type_id': vals['test_type_id'],
'state_money':vals['state_money'],
'Amount_in_date':vals['Amount_date'],
'type_In': "Reste",
'Amount_In':vals['Amount'],
'user_id': vals['user_id'],
'type_lev1': "IN",
})
return super(MedicalLab, self).write(vals)
новая ошибка:
'id_пациента': vals['id_пациента'],
KeyError: 'пациент_id'
record
оказывается логическим... Вы уверены, чтоsuper(MedicalLab, self).write(vals)
возвращает объект/словарь? А не просто логическое значение, указывающее на успех? - person Willem Van Onsem   schedule 22.06.2017super(MedicalLab, self).write
. Кажется, вы ожидаете, что он вернет что-то еще, кроме логического значения. Есть ли у вас доступ к его реализации или документации? - person Nathan.Eilisha Shiraini   schedule 22.06.2017medical.journal
, как только я изменюMedicalLab
- person Borealis   schedule 22.06.2017