Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
3 Odpowiedzi
6078 Widoki

Hello,

In a custom module that I'm developping, I've got an error when clicking on a button "apply".

In facts, I inherited the create function that is called by a click on this button like this :

def create(self, cr, uid, vals, context=None):

  self.write(cr, uid, 1, vals, context=context)

  return True

But currently, this error appear when I click on this button :

Odoo Warning - Missing Record

One of the records you are trying to modify has already been deleted (Document type: to.magento).

How can I solve that ?


Thank you in advance !
Awatar
Odrzuć
Najlepsza odpowiedź

The code you posted doesn't make any sense, you are overriding the create method to call the write method to change the record with id = 1 with the vals of the create method. The error is that the record with id = 1 could be not created or deleted, you are not calling the super create so you cannot create anything using this method. 

Awatar
Odrzuć
Najlepsza odpowiedź

Tutorial - Learn How to override create method in Odoo with Example - 

http://odootechnical.com/learn-overriding-create-method-in-odoo-8/

Awatar
Odrzuć
Najlepsza odpowiedź

If you want to write / update some value after record create you should write like that:

def create(self, cr, uid, vals, context=None):

   id = super(class_name, self).create(cr, uid, vals, context = context)

   vals.update({'field_name': value})    //   here you can give fields name for which you want to update value.

   self.write(cr, uid, id, vals, context=context)

  return True


Awatar
Odrzuć
Powiązane posty Odpowiedzi Widoki Czynność
2
lip 25
4446
1
sty 20
5572
0
wrz 15
4006
1
mar 15
7468
1
mar 15
6595