跳至內容
選單
此問題已被標幟
2 回覆
4757 瀏覽次數

Hello All,

I try to applied domain for many2one type field. But i find following Error:

TypeError: district.district(11,) is not JSON serializable

My Onchange function code is here:

@api.onchange('district_table_case')

    def _onchange_district_table(self):

        print "A:", self.district_table_case.district_mainn

        print "B:", self.district_table_case.district_ss

        #print "C:", self.district_table_case.district_ss.district

        rec = self.district_table_case.district_ss

        res = self.district_table_case.district_mainn

        print "res:", res

        for vals in rec:

            print "C:", vals

            print "D:", vals.district

            if vals.district:

                return {'domain': {'district_table': [('id', 'in', vals)]}}

            else:

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


district_table_case = fields.Many2one('district.districe.code', change_default=True, default=_onchange_district_table)

頭像
捨棄
最佳答案

Instead of browsable record make them vals in [1,2,3,4]
Now your code evaluates like vals in [district.district(11,), district.district(12,), district.district(13,)]
so make the vals as vals = [v.id for v in vals]

so you should  return {'domain': {'district_table': [('id', 'in', [v.id for v in vals])]}}

頭像
捨棄
作者

Hello Hilar,

I have a problem related to return value. Here is the link for problem.

https://www.odoo.com/forum/help-1/question/how-to-add-multiple-fields-values-in-single-many2many-field-in-odoov10-125028

Thanks in advance.

作者 最佳答案

Hello Hilar,

My domain code work well for English Language. But, When i select Chinese Language then it shows error.

Here i attach screenshot of Error:

頭像
捨棄

try to print the chinese words by typecasting to unicode,

作者

Sorry, How i do this? any suggestions?

相關帖文 回覆 瀏覽次數 活動
1
7月 19
3884
0
10月 17
2901
2
7月 25
559
0
12月 24
1169
2
10月 24
1294