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

Anytime I add a new compute field to my code I'm getting a strange 404 error. The module I'm writing already has compute fields and these still work, but any new ones send up the error. I'm using Odoo 8.

Here's an example of a situation that throws up the error:

 

 date_test = fields.Date(compute='get_date')


@api.one

def get_date(self):

self.date_test = fields.Date.context_today


 and this:


model_id = fields.Integer(compute="get_model_id")


@api.one

def get_model_id(self):

     self.model_id = self.env.ref('my_module.xml_id').id



Here's the traceback for the first example:


Traceback (most recent call last):

  File "/opt/odoo/openerp/service/server.py", line 929, in preload_registries

    registry = RegistryManager.new(dbname, update_module=update_module)

  File "/opt/odoo/openerp/modules/registry.py", line 370, in new

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

  File "/opt/odoo/openerp/modules/loading.py", line 351, in load_modules

    force, status, report, loaded_modules, update_module)

  File "/opt/odoo/openerp/modules/loading.py", line 255, in load_marked_modules

    loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks)

  File "/opt/odoo/openerp/modules/loading.py", line 143, in load_module_graph

    load_openerp_module(package.name)

  File "/opt/odoo/openerp/modules/module.py", line 315, in load_openerp_module

    __import__('openerp.addons.' + module_name)

  File "/opt/odoo/openerp/modules/module.py", line 80, in load_module

    mod = imp.load_module('openerp.addons.' + module_part, f, path, descr)

  File "/opt/odoo/addons/asset_extension/__init__.py", line 1, in <module>

    from . import asset_extension

  File "/opt/odoo/addons/asset_extension/asset_extension.py", line 63, in <module>

    class asset_extension_cat_temp(models.Model):

  File "/opt/odoo/addons/asset_extension/asset_extension.py", line 70, in asset_extension_cat_temp

    date_test = fields.Date(compute='get_date')

  File "/opt/odoo/openerp/fields.py", line 341, in __getattr__

    raise AttributeError(name)

AttributeError: Date

2016-02-26 11:28:05,420 6161 INFO ? openerp.http: HTTP Configuring static files

2016-02-26 11:28:05,431 6161 INFO asset_ex openerp.modules.loading: loading 1 modules...

2016-02-26 11:28:05,440 6161 INFO asset_ex openerp.modules.loading: 1 modules loaded in 0.01s, 0 queries

2016-02-26 11:28:05,462 6161 INFO asset_ex openerp.modules.loading: loading 46 modules...

2016-02-26 11:28:05,500 6161 CRITICAL asset_ex openerp.modules.module: Couldn't load module asset_extension

2016-02-26 11:28:05,501 6161 CRITICAL asset_ex openerp.modules.module: Date

2016-02-26 11:28:05,501 6161 INFO asset_ex openerp.http: Generating nondb routing

2016-02-26 11:28:05,511 6161 ERROR asset_ex openerp.http: Exception during JSON request handling.

Traceback (most recent call last):

  File "/opt/odoo/openerp/http.py", line 537, in _handle_exception

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

  File "/opt/odoo/openerp/http.py", line 1415, in _dispatch_nodb

    func, arguments = self.nodb_routing_map.bind_to_environ(request.httprequest.environ).match()

  File "/usr/lib/python2.7/dist-packages/werkzeug/routing.py", line 1433, in match

    raise NotFound()

NotFound: 404: Not Found


I'm pretty lost on this one. Any help would be appreciated.

Avatar
Discard
Author Best Answer

Stupid. I had accidentally redefined 'fields' for that class.

Avatar
Discard