2016-06-21 26 views
0

这真的是一个基本问题,但作为新手,我需要帮助。在odoo 8我有模型和控制器,我想知道控制器的自我模型名称。 我的代码是: 1)模型是(test_model.py)来自控制器的odoo机型名称

class test_model(models.Model): 
     _name='my.model' 

2)控制器是(test_controller.py)

class testController(http.Controller): 
     { i want to get name of my model (my.model) here } 

我试图self.pool(),self.pool。 get()。我总是在自己的属性'池'中出错。 另外我试了self.env(),我得到'环境'错误 我试过http.request.env(),但我不知道在函数中传递什么。

有人可以帮助我。 我的要求是,从控制器获取当前模块的型号名称

感谢,

回答

0

你可以在你的控制器使用

my_model_pool = request.registry['my.model'] 

+0

感谢Gopakumar,但我需要模型的名称应该是动态的,就像从自变量中获得一样。这样我就可以根据类的当前实例获取模块和模型的名称。 – user280960

+1

里面的模型,你可以使用self._name,但从控制器是不可能的 – prakash

+0

@ user280960 Sharma是正确的,在控制器内部是不可能的 –

0

可以使用request.registry(旧的API)以及request.env(新API):

注意:在新的API,你不需要通过cr ,uid , context同时呼吁一个 方法

你可以参考这个linkrequest.env(新API),这对于linkrequest.registry(Old api)。

+0

感谢Sharma的信息。 – user280960