2015-05-14 84 views
0

安裝定製的Odoo模塊時出現錯誤。獲取TypeError:type()參數1必須是字符串,而不是無

這是我得到的全部追蹤。當我點擊模塊看板視圖上的安裝按鈕時。

Traceback (most recent call last): 
    File "/home/software/ws/bma8_dev/odoo/openerp/http.py", line 518, in _handle_exception 
    return super(JsonRequest, self)._handle_exception(exception) 
    File "/home/software/ws/bma8_dev/odoo/openerp/http.py", line 539, in dispatch 
    result = self._call_function(**self.params) 
    File "/home/software/ws/bma8_dev/odoo/openerp/http.py", line 295, in _call_function 
    return checked_call(self.db, *args, **kwargs) 
    File "/home/software/ws/bma8_dev/odoo/openerp/service/model.py", line 113, in wrapper 
    return f(dbname, *args, **kwargs) 
    File "/home/software/ws/bma8_dev/odoo/openerp/http.py", line 292, in checked_call 
    return self.endpoint(*a, **kw) 
    File "/home/software/ws/bma8_dev/odoo/openerp/http.py", line 759, in __call__ 
    return self.method(*args, **kw) 
    File "/home/software/ws/bma8_dev/odoo/openerp/http.py", line 388, in response_wrap 
    response = f(*args, **kw) 
    File "/home/software/ws/bma8_dev/odoo/openerp/addons/web/controllers/main.py", line 953, in call_button 
    action = self._call_kw(model, method, args, {}) 
    File "/home/software/ws/bma8_dev/odoo/openerp/addons/web/controllers/main.py", line 941, in _call_kw 
    return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs) 
    File "/home/software/ws/bma8_dev/odoo/openerp/api.py", line 237, in wrapper 
    return old_api(self, *args, **kwargs) 
    File "/home/software/ws/bma8_dev/odoo/openerp/addons/base/module/module.py", line 450, in button_immediate_install 
    return self._button_immediate_function(cr, uid, ids, self.button_install, context=context) 
    File "/home/software/ws/bma8_dev/odoo/openerp/api.py", line 237, in wrapper 
    return old_api(self, *args, **kwargs) 
    File "/home/software/ws/bma8_dev/odoo/openerp/addons/base/module/module.py", line 498, in _button_immediate_function 
    registry = openerp.modules.registry.RegistryManager.new(cr.dbname, update_module=True) 
    File "/home/software/ws/bma8_dev/odoo/openerp/modules/registry.py", line 346, in new 
    openerp.modules.load_modules(registry._db, force_demo, status, update_module) 
    File "/home/software/ws/bma8_dev/odoo/openerp/modules/loading.py", line 363, in load_modules 
    loaded_modules, update_module) 
    File "/home/software/ws/bma8_dev/odoo/openerp/modules/loading.py", line 263, in load_marked_modules 
    loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks) 
    File "/home/software/ws/bma8_dev/odoo/openerp/modules/loading.py", line 158, in load_module_graph 
    models = registry.load(cr, package) 
    File "/home/software/ws/bma8_dev/odoo/openerp/modules/registry.py", line 148, in load 
    model = cls._build_model(self, cr) 
    File "/home/software/ws/bma8_dev/odoo/openerp/models.py", line 659, in _build_model 
    cls = type(cls._name, (cls,), attrs) 
TypeError: type() argument 1 must be string, not None 

任何人都可以知道什麼是錯的?

+0

是否確定滿足所有要求(如果有的話)? – sirfz

回答

2

您錯過了模型上需要的模塊描述符。

嘗試在您的模型類上嘗試_name_inherit

它會解決這種錯誤。

+0

哦,是的!我錯過了。非常感謝。你真的是Genius :) – OpenCurious

相關問題