Odoo 8 - Compute Field с «store = True» не может быть сохранен в базе данных
я используюOdoo 8
и у меня проблема сcompute field
с типомMany2One
.
Здесь я объявилdepartment_id
:
department_id = fields.Text(
string="Department", store=True,
comodel_name="hr.department",
compute="_get_department_id"
)
И функция этого вычислительного поля:
@api.depends('employee_id')
def _get_department_id(self):
if self.employee_id.department_id:
self.department_id = self.employee_id.department_id.name
Кажется, сейчас работает, но это не так. Ввиду того, я вижу ценностьdepartment_id
, Но в базе данных в таблице нет столбцаdepartment_id
и не имеет значения этого столбца.
Мой вопрос: как я могу хранитьdepartment_id
в базе данных?
Заметки:
В декларацииdepartment_id
Я поставилstore=True
, но он НЕ хранит значение этого поля в базе данных.Я сделал тест. я добавитьcompute_field
с типомText
, Это работает, я не знаю, почему вычислительное поле не работает с типомMany2One
.
@api.depends('employee_id')
def _get_compute_field(self):
if self.employee_id.department_id:
self.compute_field = self.employee_id.department_id.name
compute_field = fields.Text(
string="Compute Field", store=True,
compute="_get_compute_field"
)