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.


Using Domain in Openerp

on 12/21/15, 4:44 AM 277 views

I have two tables module_level and module_category:

class module_categories(osv.osv):

    _name ='module.category'
    _description ="Module Category"
    _columns = {
    'name':fields.char('Category', size=20),
    'module_levels':fields.one2many('module.level', 'mod_level_id', 'Level', select=True, required=True),

class module_level(osv.osv):

    _name ='module.level'
    _description ="Module Level"
    _columns = {
    'mod_level_id': fields.many2one('module.category', 'ID', ondelete='cascade', help='Module Category', select=True, readonly=1),
    'name':fields.char('Enter Levels', size=20),


And XML:

<record id="category_form" model="ir.ui.view">
            <field name="name">Module Category</field>
            <field name="model">module.category</field>
            <field name="arch" type="xml">
                <form string="Module Category" version="7.0" >
                        <group  col="9">
                            <field name = "name"/>
                         <group col="2">
                          <field name='module_levels'  nolabel='1' >
                              <tree string="Module Level" editable="bottom" class="grey_border">
                                <field name = "name" placeholder="Enter Levels"/>

This two tables are saying that inside module_category we are creating number if module_level in tree view.

So for Example: in module_category there are 3 module_level.

Now my question is: i am calling this two fields in separate table.


'module_category': fields.many2one('module.category', 'Category', ondelete='cascade', help='Category', select=True),
'module_level': fields.many2one('module.level', 'Level', ondelete='cascade', help='Level', select=True),


<div class="col-3">
   <label for="module_category" />
   <field name="module_category" widget="selection/"  readonly="context.get('ctx', False)"/>
 <div class="col-3">
    <label for="module_level" />
    <field name="module_level" domain="[('module_category','=',module_category)]"   options="{'create': False, 'create_edit': False}" readonly="context.get('ctx', False)"/>

When i select module_category it should show particular module_level which are belongs to it. It should not show all the module_level which are present in module_level table.

I wrote domain in module_level:domain="[('module_category','=',module_category)]"

I am getting this error: ValueError: Invalid field u'module_category' in leaf "<osv.ExtendedLeaf: (u'module_category', u'=', False) on module_level (ctx: )>" When i click on module_level.

How to get? It should show particular module_level which are belongs to module_category?

Hope you understood the prob!!

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

1 follower(s)


Asked: 12/21/15, 4:44 AM
Seen: 277 times
Last updated: 12/21/15, 5:35 AM