Problems with delegated inheritance of project module - Odoo 13

245 views Asked by At

I am inheriting the project.project model to add a "Project Type" field.

from odoo import models, fields, api

class Proyectos(models.Model):
     _name = 'girodapp.proyectos'
     _description = 'Proyectos potenciales de Girod'
     tipo_proyecto = fields.Selection([
        ('Global','Global'),
        ('Barreras y Verticales','Barreras y Verticales'),
        ('Pretiles','Pretiles'),    
        ])
     project.id = fields.Many2one(
        'project.project',
        delegate=True,
        ondelete='cascade',
        required=True)

but when installing the module I get the following error:

Error:
Odoo Server Error

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 624, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 310, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  File "/usr/lib/python3/dist-packages/odoo/tools/pycompat.py", line 14, in reraise
    raise value
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 669, in dispatch
    result = self._call_function(**self.params)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 350, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 94, in wrapper
    return f(dbname, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 339, in checked_call
    result = self.endpoint(*a, **kw)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 915, in __call__
    return self.method(*args, **kw)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 515, in response_wrap
    response = f(*args, **kw)
  File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 1326, in call_button
    action = self._call_kw(model, method, args, kwargs)
  File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 1314, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/usr/lib/python3/dist-packages/odoo/api.py", line 387, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
  File "/usr/lib/python3/dist-packages/odoo/api.py", line 374, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "<decorator-gen-60>", line 2, in button_immediate_install
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_module.py", line 72, in check_and_log
    return method(self, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_module.py", line 463, in button_immediate_install
    return self._button_immediate_function(type(self).button_install)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_module.py", line 573, in _button_immediate_function
    modules.registry.Registry.new(self._cr.dbname, update_module=True)
  File "/usr/lib/python3/dist-packages/odoo/modules/registry.py", line 86, in new
    odoo.modules.load_modules(registry._db, force_demo, status, update_module)
  File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 423, in load_modules
    loaded_modules, update_module, models_to_check)
  File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 315, in load_marked_modules
    perform_checks=perform_checks, models_to_check=models_to_check
  File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 182, in load_module_graph
    load_openerp_module(package.name)
  File "/usr/lib/python3/dist-packages/odoo/modules/module.py", line 376, in load_openerp_module
    __import__('odoo.addons.' + module_name)
  File "/mnt/extra-addons/girodapp/__init__.py", line 2, in <module>
    from . import models
  File "/mnt/extra-addons/girodapp/models/__init__.py", line 1, in <module>
    from . import girodapp_proyectos
  File "/mnt/extra-addons/girodapp/models/girodapp_proyectos.py", line 3, in <module>
    class Proyectos(models.Model):
  File "/mnt/extra-addons/girodapp/models/girodapp_proyectos.py", line 15, in Proyectos
    required=True)
NameError: name 'project' is not defined

According to the message the name project is not defined, but this same method I used with res.partner and it worked for me. What am I doing wrong? Help me Please!

1

There are 1 answers

0
Charif DZ On BEST ANSWER

Just change this to project.id to project_id.

The first syntax python will try to retrieve the attribute id from the object project this why he complains about it.

You are defining a Many2one one field so the name cannot have special characters. It is an identifier he must follow the rules that are in all programming language like it cannot start with number .... Etc