跳至内容
菜单
此问题已终结
2 回复
4742 查看

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
3857
0
10月 17
2859
2
7月 25
496
0
12月 24
1101
2
10月 24
1210