1
我使用Odoo 8
,我遇到了問題compute field
,類型爲Many2One
。Odoo 8 - 具有「store = True」的計算字段不能存儲在數據庫中
在此,我宣佈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" )