0
_coloumns={'state_id': fields.many2one("res.country.state", 'State',required=True),
         'country_id': fields.many2one('res.country', 'Country',required=True),
       }  #  in my python file

# my xml file contains this code
<group col="4" colspan="4">
<field name="permanent_address" colspan="4"/>
<field name="birthday"/>
<!--<field name="department_id" on_change="onchange_department_id(department_id)"/>-->
<field name="unit"/>
<!--<field name="vertical_id"/>-->
<field name="gender"/>
<field name="city1"/>
<field name="state_id"/>
<field name="country_id"/>
<field name="mobile"/>
<field name="email"/>
<field name="blood_group"/>
<field name="pan_no"/>
<field name="marital"/>
<field name="anniversary_date" attrs="{'invisible':[('marital','!=','married')]}"/>
</group>

我需要像这样的输出:`如果我在一个字段中输入州名(maharastra),国家会自动填写国家名(印度)'在此处输入代码

4

1 回答 1

1

正常的模式是:

  1. 向 state_id 字段添加 on change 方法

    on_change="state_id_change(state_id, context)"
    
  2. 将 on change 方法添加到您的模型中。

    def state_id_change(self, cr, uid, ids, state_id, context = None):
        values = {'country_id': False}
    
        if state_id:
            state = self.pool.get('state_model').browse(cr, uid, state_id, context = context)
            values['country_id'] = state.country_id.id
    
        return {'value': values}
    

请注意,如果他们清除州,这也会清除国家,但如果他们选择一个州,它将查找相关的国家 ID 并返回它。on_change只要它返回一个字典,你就可以把任何你想要的东西放进去。

这假设 OpenERP 7。如果您使用 6,请将context参数保留在 XMLon_change属性之外。

最后一件事,您的模型中有错字,_columns是拼写错误。

于 2014-07-14T21:23:21.663 回答