Odoo Help


Filter many2one field with functional field

Sahib Hasanov
on 1/24/14, 7:20 AM 5,533 views

I try filter list of values in dropdown list of many2one field (this field is in tree). For this I've created functional field which return list of allowed ids. In xml file i used domain with in condition. Here's my code

In py file

class cm_order_line(osv.osv):
_name = 'cm.order.line'

def _get_order_ids(self, cr, uid, ids, field_names=None, arg=None, context=None):
task_order_ids = [5,9,10]    # only as simplification...
return task_order_ids

_columns = {
'order_id': fields.many2one('stock.picking', 'Order Name'),
'order_ids': fields.function(_get_order_ids, type='char', string='Orders IDs', store=False),

_defaults = {
'order_ids': _get_order_ids


<field name="order_ids" invisible="1"/>
<field name="order_id" on_change="onchange_order_id(order_id)" domain="[('type','=','out'),('id', 'in', order_ids)]"/>

Everything works fine when i create new record. Domain works normal but after save (or when i just want to open inserted records) it gives error

AttributeError: 'list' object has no attribute 'get'

These are not the same, as Sahib needs to provide a list of IDs, not a single ID...

Mario Arias Badila
on 1/29/14, 1:52 AM

Jagdish Panchal

--Jagdish Panchal--

| 5 4 6
Gandhinagar, India
--Jagdish Panchal--

OpenERP Developer

Jagdish Panchal
On 5/15/14, 9:07 AM


Yor passing "order_ids" field domain xml file but its function field and not stored in data base thats why you facing this error.


On 2/19/15, 8:22 AM

change type='char', to type='many2one',
This will work

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

1 follower(s)


Asked: 1/24/14, 7:20 AM
Seen: 5533 times
Last updated: 10/30/17, 2:35 PM