2017-10-06 54 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場