2015-12-21 78 views
1

使用域我有兩個表module_level和module_category:在OpenERP的

class module_categories(osv.osv): 

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

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), 
    } 

module_level() 

和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" > 
        <sheet> 
         <group col="9"> 
          <field name = "name"/> 
         </group> 
         <group col="2"> 
          <field name='module_levels' nolabel='1' > 
           <tree string="Module Level" editable="bottom" class="grey_border"> 
           <field name = "name" placeholder="Enter Levels"/> 
           </tree> 
          </field> 
         </group> 
        </sheet> 
       </form> 
      </field> 
    </record> 

這兩個表是說裏面module_category我們正在創造數如果module_level樹視圖。

所以例如:在module_category中有3個module_level。

現在我的問題是:我在單獨的表中調用這兩個字段。

的.py:

'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), 

.XML:

<div class="col-3"> 
    <label for="module_category" /> 
    <field name="module_category" widget="selection/" readonly="context.get('ctx', False)"/> 
    </div> 
<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)"/> 
</div> 

當我選擇module_category它應該顯示特定module_level其是屬於它。它不應該顯示module_level表中存在的所有module_level。

我module_level寫道域:domain="[('module_category','=',module_category)]"

我收到此錯誤:ValueError: Invalid field u'module_category' in leaf "<osv.ExtendedLeaf: (u'module_category', u'=', False) on module_level (ctx:)>"當我module_level點擊。

如何獲取?它應該顯示哪些屬於module_category的特定module_level?

希望你能理解概率!

回答

0

解決的問題: 錯是在.py文件:

class module_categories(osv.osv): 

    _name ='module.categories' 
    _description ="Module Category" 
    _columns = { 
    'mod_cat_id':fields.integer('id'), 
    'name':fields.char('Category', size=20), 
    'module_levels':fields.one2many('module.levels', 'module_category', 'Level', select=True, required=True), 
    } 
module_categories() 

class module_level(osv.osv): 

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

module_level() 

我module_category領域所做的錯誤。