2017-10-06 57 views
0

我必须有两个many2one类型的字段。在当地的地区“香港”,“Kawloon”和“新的Terriotories”。在另一个与这些地区有关的许多领域中。而我希望当我选择一个'本地区域',那么该区域的有效性只与该地区有关。在odoov10地区的Onchange函数

我的代码是在这里:

Python代码:

class district_code_form(models.Model): 

    _name = 'district.districe.code' 

    _rec_name = 'district_mainn' 



    district_mainn = fields.Char('District Value') 

    district_ss = fields.One2many('district.district', 'district_id', string="District Workflow") 


class district_form(models.Model): 

    _name = 'district.district' 

    _rec_name = 'district' 



    district_id = fields.Many2one('district.district.code', string='Districts Id', ondelete='cascade', index=True, copy=False) 

    district = fields.Char("District") 



class customer_information(models.Model): 

    _inherit = "res.partner" 




@api.onchange('district_table_case') 

    def _onchange_district_table(self): 

     if self.district_table_case: 

      return {'domain': {'district_table': [('district_table_case', '=', self.district_table_case)]}} 

     else: 

      return {'domain': {'district_table': []}} 



district_table_case = fields.Many2one('district.districe.code') 

    district_table = fields.Many2one('district.district', change_default=True, default=_onchange_district_table) 

XML代码:

<field name="district_table_case"/> 

<field name="district_table"/> 

回答

1

更新你的代码通过

@api.onchange('district_table_case') 

def _onchange_district_table(self): 

    if self.district_table_case: 

     return {'domain': {'district_table': [('district_table_case', '=', self.district_table_case.id)]}} 

    else: 

     return {'domain': {'district_table': []}} 

而且也没有在district.district型号命名district_table_case场