3
votes

I'm trying to add discussions and notifications to academy class but got error. My code: models.py

class Courses(models.Model):
_name = 'academy.courses'
_inherit = 'mail.thread'

views.xml

<div class="oe_chatter">
  <field name="message_follower_ids" widget="mail_followers"/>
  <field name="message_ids" widget="mail_thread"/>
</div>

openerp.py

'depends': ['website'],

Error:

2016-04-01 22:05:02,467 11535 ERROR academy openerp.modules.registry: Failed to load registry
Traceback (most recent call last):
  File "/home/module_odoo/openerp/modules/registry.py", line 386, in new
    openerp.modules.load_modules(registry._db, force_demo, status, update_module)
  File "/home/module_odoo/openerp/modules/loading.py", line 334, in load_modules
    force, status, report, loaded_modules, update_module)
  File "/home/module_odoo/openerp/modules/loading.py", line 237, in load_marked_modules
    loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks)
  File "/home/module_odoo/openerp/modules/loading.py", line 132, in load_module_graph
    models = registry.load(cr, package)
  File "/home/module_odoo/openerp/modules/registry.py", line 169, in load
    model = cls._build_model(self, cr)
  File "/home/module_odoo/openerp/models.py", line 599, in _build_model
    'You may need to add a dependency on the parent class\' module.' % (name, parent))
TypeError: The model "academy.courses" specifies an unexisting parent class "mail.thread"
You may need to add a dependency on the parent class' module.
2016-04-01 22:05:02,469 11535 CRITICAL academy openerp.service.server: Failed to initialize database `academy`.
Traceback (most recent call last):
  File "/home/module_odoo/openerp/service/server.py", line 885, in preload_registries
    registry = RegistryManager.new(dbname, update_module=update_module)
  File "/home/module_odoo/openerp/modules/registry.py", line 386, in new
    openerp.modules.load_modules(registry._db, force_demo, status, update_module)
  File "/home/module_odoo/openerp/modules/loading.py", line 334, in load_modules
    force, status, report, loaded_modules, update_module)
  File "/home/module_odoo/openerp/modules/loading.py", line 237, in load_marked_modules
    loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks)
  File "/home/module_odoo/openerp/modules/loading.py", line 132, in load_module_graph
    models = registry.load(cr, package)
  File "/home/module_odoo/openerp/modules/registry.py", line 169, in load
    model = cls._build_model(self, cr)
  File "/home/module_odoo/openerp/models.py", line 599, in _build_model
    'You may need to add a dependency on the parent class\' module.' % (name, parent))
TypeError: The model "academy.courses" specifies an unexisting parent class "mail.thread"
You may need to add a dependency on the parent class' module.

What do I tried:

  1. openerp.py

    'depends': ['website', 'mail'],

  2. then:

    models.py

    class Courses(models.Model): _name = 'academy.courses' _inherits = ['academy.courses', 'mail.thread']

But nothing helps :(

1
I might sound silly but i gonna ask anyway, have you tried to restart the server?SDBot
I got the same error. I think odoo haven't mentioned it in their tutorial.odoo.com/documentation/10.0/howtos/website.html. Thank you for your answer. :)Christo Jose

1 Answers

5
votes

Thank you for the answers. I think I found a solution.

For me helps in __openerp__.py in depends change website -> base. I don't know why but it helps. Maybe anyone knows why?

depends': ['base', 'mail']