Skip to Content
Menu
This question has been flagged
1 Reply
3307 Views

I want to create "openacademy" module in odoo 13 in windows 10, Py ver3.7. I following the exercise at the documentation by using scaffold 

https://www.odoo.com/documentation/13.0/howtos/backend.html 


openacademy/__manifest__.py

# -*- coding: utf-8 -*-
{
'name': "openacademy",

'summary': """
 Open Academy
 "",

'description': """
Long description of module's purpose
""",

'author': "Wissam Al-Samman",
'website': "http://www.yourcompany.com",

# Categories can be used to filter modules in modules listing
# Check https://github.com/odoo/odoo/blob/13.0/odoo/addons/base/data/ir_module_category_data.xml
# for the full list
'category': 'Uncategorized',
'version': '0.1',

# any module necessary for this one to work correctly
'depends': ['base'],

# always loaded
'data': [
# 'security/ir.model.access.csv',
'views/views.xml',
'views/templates.xml',
],
# only loaded in demonstration mode
'demo': [
'demo/demo.xml',
],
}



openacademy/__init__.py

# -*- coding: utf-8 -*-
from . import controllers
from . import models


openacademy/models.py

from odoo import models, fields, api


class Course(models.Model):
_name = 'openacademy.course'
_description = "OpenAcademy Courses"

name = fields.Char(string="Title", required=True)
description = fields.Text()


openacademy/views/openacademy.xml

<?xml version="1.0" encoding="UTF-8"?>
<odoo>

<!-- window action -->
<!--
The following tag is an action definition for a "window action",
that is an action opening a view or a set of views
-->
<record model="ir.actions.act_window" id="course_list_action">
<field name="name">Courses</field>
<field name="res_model">openacademy.course</field>
<field name="view_mode">tree,form</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">Create the first course
</p>
</field>
</record>

<!-- top level menu: no parent -->
<menuitem id="main_openacademy_menu" name="Open Academy"/>
<!-- A first level in the left side menu is needed
before using action= attribute -->
<menuitem id="openacademy_menu" name="Open Academy"
parent="main_openacademy_menu"/>
<!-- the following menuitem should appear *after*
its parent openacademy_menu and *after* its
action course_list_action -->
<menuitem id="courses_menu" name="Courses" parent="openacademy_menu"
action="course_list_action"/>
<!-- Full id location:
action="openacademy.course_list_action"
It is not required when it is the same module -->

</odoo>


Error:

Odoo Server Error


Traceback (most recent call last):

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\tools\convert.py", line 712, in parse

    self._tag_root(de)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\tools\convert.py", line 674, in _tag_root

    f(rec)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\tools\convert.py", line 577, in _tag_record

    record = model._load_records([data], self.mode == 'update')

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\models.py", line 4104, in _load_records

    records = self._load_records_create([data['values'] for data in to_create])

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\models.py", line 4018, in _load_records_create

    return self.create(values)

  File "<decorator-gen-37>", line 2, in create

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\api.py", line 336, in _model_create_multi

    return create(self, arg)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\addons\base\models\ir_actions.py", line 235, in create

    return super(IrActionsActWindow, self).create(vals_list)

  File "<decorator-gen-35>", line 2, in create

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\api.py", line 336, in _model_create_multi

    return create(self, arg)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\addons\base\models\ir_actions.py", line 59, in create

    res = super(IrActions, self).create(vals_list)

  File "<decorator-gen-3>", line 2, in create

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\api.py", line 336, in _model_create_multi

    return create(self, arg)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\models.py", line 3746, in create

    records = self._create(data_list)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\models.py", line 3919, in _create

    records._validate_fields(name for data in data_list for name in data['stored'])

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\models.py", line 1176, in _validate_fields

    check(self)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\addons\base\models\ir_actions.py", line 142, in _check_model

    raise ValidationError(_('Invalid model name %r in action definition.') % action.res_model)

odoo.exceptions.ValidationError: ("Invalid model name 'openacademy.course' in action definition.", None)


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\http.py", line 624, in _handle_exception

    return super(JsonRequest, self)._handle_exception(exception)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\http.py", line 310, in _handle_exception

    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\tools\pycompat.py", line 14, in reraise

    raise value

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\http.py", line 669, in dispatch

    result = self._call_function(**self.params)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\http.py", line 350, in _call_function

    return checked_call(self.db, *args, **kwargs)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\service\model.py", line 94, in wrapper

    return f(dbname, *args, **kwargs)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\http.py", line 339, in checked_call

    result = self.endpoint(*a, **kw)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\http.py", line 915, in __call__

    return self.method(*args, **kw)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\http.py", line 515, in response_wrap

    response = f(*args, **kw)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\addons\web\controllers\main.py", line 1326, in call_button

    action = self._call_kw(model, method, args, kwargs)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\addons\web\controllers\main.py", line 1314, in _call_kw

    return call_kw(request.env[model], method, args, kwargs)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\api.py", line 387, in call_kw

    result = _call_kw_multi(method, model, args, kwargs)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\api.py", line 374, in _call_kw_multi

    result = method(recs, *args, **kwargs)

  File "<decorator-gen-66>", line 2, in button_immediate_upgrade

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\addons\base\models\ir_module.py", line 72, in check_and_log

    return method(self, *args, **kwargs)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\addons\base\models\ir_module.py", line 634, in button_immediate_upgrade

    return self._button_immediate_function(type(self).button_upgrade)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\addons\base\models\ir_module.py", line 573, in _button_immediate_function

    modules.registry.Registry.new(self._cr.dbname, update_module=True)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\modules\registry.py", line 86, in new

    odoo.modules.load_modules(registry._db, force_demo, status, update_module)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\modules\loading.py", line 419, in load_modules

    force, status, report, loaded_modules, update_module, models_to_check)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\modules\loading.py", line 315, in load_marked_modules

    perform_checks=perform_checks, models_to_check=models_to_check

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\modules\loading.py", line 225, in load_module_graph

    load_data(cr, idref, mode, kind='data', package=package, report=report)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\modules\loading.py", line 68, in load_data

    tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind, report)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\tools\convert.py", line 736, in convert_file

    convert_xml_import(cr, module, fp, idref, mode, noupdate, report)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\tools\convert.py", line 803, in convert_xml_import

    obj.parse(doc.getroot())

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\tools\convert.py", line 721, in parse

    exc_info[2]

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\tools\pycompat.py", line 13, in reraise

    raise value.with_traceback(tb)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\tools\convert.py", line 712, in parse

    self._tag_root(de)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\tools\convert.py", line 674, in _tag_root

    f(rec)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\tools\convert.py", line 577, in _tag_record

    record = model._load_records([data], self.mode == 'update')

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\models.py", line 4104, in _load_records

    records = self._load_records_create([data['values'] for data in to_create])

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\models.py", line 4018, in _load_records_create

    return self.create(values)

  File "<decorator-gen-37>", line 2, in create

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\api.py", line 336, in _model_create_multi

    return create(self, arg)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\addons\base\models\ir_actions.py", line 235, in create

    return super(IrActionsActWindow, self).create(vals_list)

  File "<decorator-gen-35>", line 2, in create

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\api.py", line 336, in _model_create_multi

    return create(self, arg)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\addons\base\models\ir_actions.py", line 59, in create

    res = super(IrActions, self).create(vals_list)

  File "<decorator-gen-3>", line 2, in create

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\api.py", line 336, in _model_create_multi

    return create(self, arg)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\models.py", line 3746, in create

    records = self._create(data_list)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\models.py", line 3919, in _create

    records._validate_fields(name for data in data_list for name in data['stored'])

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\models.py", line 1176, in _validate_fields

    check(self)

  File "C:\Program Files (x86)\Odoo 13.0\server\odoo\addons\base\models\ir_actions.py", line 142, in _check_model

    raise ValidationError(_('Invalid model name %r in action definition.') % action.res_model)

odoo.tools.convert.ParseError: "Invalid model name 'openacademy.course' in action definition.

None" while parsing file:/d:/works/companies/01-witforms/odooprojects/firstproject/extra_addons/openacademy/views/views.xml:2, near

<odoo>


        <!-- window action -->

        <!--

            The following tag is an action definition for a "window action",

            that is an action opening a view or a set of views

        -->

        <record model="ir.actions.act_window" id="course_list_action">

            <field name="name">Courses</field>

            <field name="res_model">openacademy.course</field>

            <field name="view_mode">tree,form</field>

            <field name="help" type="html">

                <p class="o_view_nocontent_smiling_face">Create the first course

                </p>

            </field>

        </record>


        <!-- top level menu: no parent -->

        <menuitem id="main_openacademy_menu" name="Open Academy"/>

        <!-- A first level in the left side menu is needed

             before using action= attribute -->

        <menuitem id="openacademy_menu" name="Open Academy" parent="main_openacademy_menu"/>

        <!-- the following menuitem should appear *after*

             its parent openacademy_menu and *after* its

             action course_list_action -->

        <menuitem id="courses_menu" name="Courses" parent="openacademy_menu" action="course_list_action"/>

        <!-- Full id location:

             action="openacademy.course_list_action"

             It is not required when it is the same module -->


</odoo>


I following the series to create odoo on my win10

https://www.youtube.com/watch?v=GWN121PElwY&list=PL7CWBDRZZ_QcdLoz-DtpAN_GYPrpRUTCh


Please help me, I see a lot fo solution but never solved 

Avatar
Discard

hey,

1- Try on a new Database.

2- If 1 did not work out, try to change the name to something else.

I once had the same issue and couldn't figure it out until i have changed it.

hope this helps.

I had the same issue and it worked in another database. I installed the birthday app and tried it in that one.

Related Posts Replies Views Activity
0
Nov 24
53
4
May 24
10073
1
Apr 24
1563
0
Nov 23
525
1
Sep 23
567