Ich habe soweit eine API erstellt, welche bestimmte Veränderungen am Model vornehmen kann.
Hierfür wird eine OpenERPSession erstellt und ein bestehender Nutzer verwendet, um die Veränderungen vorzunehmen:

Code: Alles auswählen

        odoo_session = OpenERPSession({'login': username, 'password': password, 'db': dbname}, {})
        odoo_session.authenticate(db=dbname, login=username, password=password)
 
Nun möchte ich gern jede programmatische Veränderung als interne Notiz speichern.

Allerdings wird folgende Methode nur aufgerufen, wenn ich über das Formular Daten verändere:

Code: Alles auswählen

@api.onchange('name')
      def _stuff_note(self):
            noteString = "Updated via API"
            _logger.error("i want to create a note : %r", noteString)
            self.note = noteString



Diese Methode wird überhaupt nicht aufgerufen, obwohl die Dokumentation sich so liest, als ob sie es sollte:
"This decorator will trigger the call to the decorated function if any of the fields specified in the decorator is altered by ORM or changed in the form:"

Code: Alles auswählen

@api.depends('name')
      def _stuff_note(self):
            noteString = "Updated via API"
            _logger.error("i want to create a note : %r", noteString)
            self.note = noteString
            
Kann jemand einen Tipp geben, wie ich eine interne Notiz erstellen kann?

Mir würde ja auch schon helfen, wenn in einer Methode im Controller eine Notiz erstellen könnte.

Bin für jede Hilfe Dankbar!

Gruß!
Patrick