2017-10-06 6 views
0

2つのmany2oneタイプのフィールドが必要です。フィールドローカル地域では "香港"、 "Kawloon"と "新Terriotories"。そして、これらの地域に関連する他の多くの2つのフィールド地区で。そして、私はそれが欲しいときに私は '地方の地域'を選択し、その後、その地域にのみ関連した地区を利用します。odoov10の地区のオンチェンジ機能

私のコードはここにある:

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という名前のフィールドがない

それはエラーを以下に示し
+0

: とValueError:無効なフィールドu'district_table_case」osv.ExtendedLeaf <」葉で:(u'district_table_case 'U' = "、1)on district_district(ctx:)>" –

+0

はい私の答えを参照してください。 –

+0

継承されたres.partnerモデルのこのフィールドは、district_table_caseというフィールドはありません。最後のコードを見てください。 –

関連する問題