2016-12-20 9 views
1

В пользовательском модуле у меня есть два класса. Как класс test в @api.one звонит test2_func на кнопку?Функция вызова из другого класса odoo 9

Что следует поместить в def call_test2_func(self)?

Например:

class test(models.Model): 
    _name = "test.class" 
    _description = "TEST" 
@api.one 
    def call_test2_func(self): 
    """call test2_func here""" 

class test2(models.Model): 
    _name = "test2.class" 
    _description = "TEST 2" 

@api.one 
    def test2_func(self): 
     print("TEST 2") 
+0

Для вызова функции из другой модели вы можете использовать 'self.env [«MODEL_NAME»]. Myfunction' – yorodm

ответ

1

Может быть, я должен оставить ответ вместо комментария. Если вы используете Odoo и новый OpenERP api, вы можете получить доступ к модели dictionaty, хотя self.env в ваших классах моделей. Таким образом, чтобы вызвать функцию test2_func в модели test2.class вы должны написать

@api.one 
def call_test2_func(self): 
    self.env["test2.class"].test2_func()