【发布时间】:2019-05-15 10:29:11
【问题描述】:
我正在尝试将模块从 odoo 10 更新到 odoo12。以下代码在使用 python 2.7 但在 python 3.x 中出现地图问题的 odoo 10 中运行良好
def _get_search_domain(self, search, category, attrib_values):
res =super(WebsiteSale,self)._get_search_domain(search,category,attrib_values)
filter_list = request.httprequest.args.getlist('filter')
domain = res
filter_values = [map(int, v.split("-")) for v in filter_list if v]
filters_ids = set([v[0] for v in filter_values])
filter_set = set([v[1] for v in filter_values])
if filter_values:
filter = None
ids = []
list_of_d = []
for value in filter_values:
v = False
if not filter:
filter = value[0]
ids.append(value[1])
elif value[0] == filter:
ids.append(value[1])
else:
domain += [('filter_line_ids.value_ids', 'in', ids)]
filter = value[0]
ids = [value[1]]
if filter:
domain += [('filter_line_ids.value_ids', 'in', ids)]
return domain
我收到错误消息:
'map' 对象不可下标
我从其他帮助中读到我应该用列表附上地图。我试过用下面的代码替换,但还是不行
filter_values = [list(map(int, v.split("-"))) for v in filter_list if v]
谁能帮帮我。谢谢!
【问题讨论】:
-
添加列表转换后出现完全相同的错误?它发生在哪条线上?请发布完整的堆栈跟踪。
标签: python-3.x