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!
Just change this to
project.id
toproject_id
.The first syntax python will try to retrieve the attribute
id
from the objectproject
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