2016-04-26 2 views
0

У меня есть этот код OnChangeполучить идентификатор рекордными (OnChange) odoo

@api.onchange('the_geom') 
    def _onchange_cor(self): 
     if self.the_geom != False: 
      self.env.cr.execute('SELECT the_geom from geolocalizacion_plot') 
      self.cor2=self.env.cr.fetchone()[0] 
      self.cor=self.id 

но self.id возвращает <openerp.models.NewId object at 0x7f904b586e10>

как получить идентификатор личности (текущая запись)

+0

@Prakash ваши ответы были стерты ?? – josemi

ответ

1

Я не понимаю ваш код или вашу концепцию здесь, но в on_changes odoo создает новый объект и заменяет его собой. Объект origin, то, что вы ищете, можно найти под self._origin, если я правильно напомню.

Почему вы хотите сохранить self.id в self.cor?

+1

Я только сохранил его для проверки, что это правильно, я использовал условие «где» для обновления в SQL, «self._origin.id» правильный, спасибо – josemi