Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
3 Ответы
6319 Представления

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 !
Аватар
Отменить
Лучший ответ

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. 

Аватар
Отменить
Лучший ответ

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

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

Аватар
Отменить
Лучший ответ

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


Аватар
Отменить
Related Posts Ответы Просмотры Активность
2
июл. 25
4948
1
янв. 20
5947
0
сент. 15
4400
1
мар. 15
7935
1
мар. 15
7060