Odoo 8 - Berechnungsfeld mit "store = True" kann nicht in der Datenbank gespeichert werden

Ich benutzeOdoo 8 und ich habe ein Problem mitcompute field mit Typ istMany2One.

Hier habe ich @ deklariedepartment_id:

department_id = fields.Text(
    string="Department", store=True,
    comodel_name="hr.department",
    compute="_get_department_id"
)

Und Funktion dieses Rechenfeldes:

@api.depends('employee_id')
def _get_department_id(self):
    if self.employee_id.department_id:
        self.department_id = self.employee_id.department_id.name

Es scheint gerade zu funktionieren, aber es ist nicht. In der Ansicht kann ich den Wert von @ sehdepartment_id. Aber in der Datenbank hat die Tabelle keine Spaltedepartment_id und hat keinen Wert für diese Spalte.

Meine Frage ist: Wie kann ich das @ speicherdepartment_id in der Datenbank?

Anmerkungen

In der Deklaration vondepartment_id, Ich setzestore=True, aber der Wert dieses Feldes wurde NICHT in der Datenbank gespeichert.

Ich habe einen Test gemacht. Ich füge hinzucompute_field mit TypText, Es funktioniert, ich weiß nicht, warum das Berechnungsfeld nicht mit dem Typ @ funktionierMany2One.

@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"
)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage