Odoo Help


This community 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.


Dynamic Domain Filtering help

Erhuvwu Akpobaro
on 3/24/15, 10:50 AM 672 views

I have a many2one field which i want to have a dynamic domain filter on : 

but i want start with something basic by just passing a variable through a integer in a function:

class mm_control_zone(osv.osv):

_name = "mm.control.zone"

_rec_name = "zone_id"

_columns = {

'zone_id':fields.many2one('product.category' , 'Zone')


def get_domain_useer_id(self,cr,uid,ids,context=None):

lids = 20

return domain = {'product_category':[('id', '=', lids)]}


<field name="zone_id" on_change="get_domain_useer_id()"/>

So far the function doesn't work as my field is not being filtered.

is there a better way of having a dynamic filter ?



| 5 4 7
Lodz, Poland

On 3/24/15, 11:13 AM

Try like this:

return {'domain': {'product_category':[('id', '=', lids)]}}

Erhuvwu Akpobaro
On 3/24/15, 11:41 AM

Hello @ zbik thanks for your help it worked , what if i want to return another selection id from another table .

so far i have tried :

def get_domain_useer_id(self,cr,uid,ids,context=None):

d_obj = self.pool.get('mm.control')

lids = d_obj.browse(cr,uid,ids, context=context)

lids2 = lids.parent_zone_id

return {'domain': {'zone_id':[('id', '=', lids2)]}}

the model which i want to get the selection from :

class mm_control(osv.osv):

_name = "mm.control"

_rec_name = "company"

_columns = {

'parent_zone_id':fields.many2one('product.category','Parent Zone', domain="[('id', 'child_of' , 3)]" , required=True , help="Parent zone "),

'company':fields.many2one('res.company' , 'Company', domain="[('company_type', '=', 'Property Company')]", required=True, select=1 ) ,

'rental_split': fields.float('Rent', help="Service charge split of total rent amount"),

'maintenance_split': fields.float('Maintenance', help="Rent split of total rent amount"),

'service_split': fields.float('Service', help="Service charge split of total rent amount"),

'mm_control_zone_id': fields.one2many('mm.control.zone' , 'zone_id','Zones' ),



how can i go about achieving this ?

Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

2 follower(s)


Asked: 3/24/15, 10:50 AM
Seen: 672 times
Last updated: 3/24/15, 11:41 AM