Skip to Content
Menu
This question has been flagged
3 Replies
2121 Views

Hi all,

Please help me to solve the context issue:


environment: ubuntu18.04+odoo13

 

Odoo Server Error


Traceback (most recent call last):

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

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

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

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

  File "/opt/odoo/odoo/tools/pycompat.py", line 14, in reraise

    raise value

  File "/opt/odoo/odoo/http.py", line 669, in dispatch

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

  File "/opt/odoo/odoo/http.py", line 350, in _call_function

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

  File "/opt/odoo/odoo/service/model.py", line 94, in wrapper

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

  File "/opt/odoo/odoo/http.py", line 339, in checked_call

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

  File "/opt/odoo/odoo/http.py", line 915, in __call__

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

  File "/opt/odoo/odoo/http.py", line 515, in response_wrap

    response = f(*args, **kw)

  File "/opt/odoo/addons/web/controllers/main.py", line 1322, in call_kw

    return self._call_kw(model, method, args, kwargs)

  File "/opt/odoo/addons/web/controllers/main.py", line 1314, in _call_kw

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

  File "/opt/odoo/odoo/api.py", line 383, in call_kw

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

  File "/opt/odoo/odoo/api.py", line 356, in _call_kw_model

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

  File "/opt/odoo/my-modules/bug-wizard/models/bug_wizard.py", line 16, in default_get

    defaults['bug_ids'] = self.env.context['active_ids']

KeyError: 'active_ids'


below is .py file:


# -*- coding: utf-8 -*-


from odoo import models, fields, api


class bugWizard(models.TransientModel):

    _name='bug.wizard'


    bug_ids=fields.Many2many('bm.bug',string='Bug')

    new_is_closed=fields.Boolean('是否关闭')

    wizard_user_id=fields.Many2one('res.users',string='负责人')


    @api.model

    def default_get(self,field_names):

        defaults = super(bugWizard,self).default_get(field_names)

        defaults['bug_ids'] = self.env.context['active_ids']

        return defaults

Avatar
Discard

From where are you calling the wizard? From menu or from any view (tree, form) of the object?

Author

<odoo>

<data>

<record id="bug_wizard" model="ir.ui.view">

<field name="name">bug管理-向导</field>

<field name="model">bug.wizard</field>

<field name="arch" type="xml">

<form>

<div class="oe_right">

<button type="object" name="count_bugs" string="统计bug数"/>

<button type="object" name="get_bugs" string="获取bug"/>

</div>

<field name="bug_ids">

<tree>

<field name="name"/>

<field name="user_id"/>

<field name="is_closed"/>

</tree>

</field>

<group>

<group>

<field name="wizard_user_id"/>

</group>

<group>

<field name="new_is_closed"/>

</group>

</group>

<footer>

<button type="object" name="update_batch" string="批量更新"

class="oe_highlight"

attrs="{'invisible':[('new_is_closed','=',False),

('wizard_user_id','=',False)]}"/>

</footer>

</form>

</field>

</record>

<!---->

<act_window id="action_bug_wizard" name="bug管理向导"

res_model="bug.wizard" view_mode="form" target="new" />

<menuitem id="menu_bug_wizard" parent="bug-manage.menu_1"

action="action_bug_wizard" sequence="50"/>

</data>

</odoo>

Best Answer

Hi,

There might no active_ids inside the context, thats why you get this error, try the below code and see.

active_ids = self.env.context.get('active_ids')

Thanks

Avatar
Discard
Related Posts Replies Views Activity
0
Jul 22
1193
2
Dec 15
3649
0
Mar 15
2420
2
Mar 15
5280
0
Mar 15
2761