fix: filters兼容dict格式(非list),避免iter string时.get()报AttributeError
This commit is contained in:
parent
a7d88309b8
commit
7029f858f9
@ -621,8 +621,16 @@ order by b.enabled_date desc"""
|
|||||||
|
|
||||||
# 检查 filters 区间条件(新格式,AND逻辑:所有filter_item都要匹配)
|
# 检查 filters 区间条件(新格式,AND逻辑:所有filter_item都要匹配)
|
||||||
# 带 unit_prices 的 filter_item 是 tiered 定价,跳过(由后面第二块处理)
|
# 带 unit_prices 的 filter_item 是 tiered 定价,跳过(由后面第二块处理)
|
||||||
|
# 兼容两种格式:list of dicts 或 dict
|
||||||
if p_ok and is_new_format and 'filters' in p:
|
if p_ok and is_new_format and 'filters' in p:
|
||||||
for filter_item in p['filters']:
|
raw_filters = p['filters']
|
||||||
|
if isinstance(raw_filters, dict):
|
||||||
|
filter_items = [raw_filters]
|
||||||
|
else:
|
||||||
|
filter_items = raw_filters
|
||||||
|
for filter_item in filter_items:
|
||||||
|
if not isinstance(filter_item, dict):
|
||||||
|
continue
|
||||||
if 'unit_prices' in filter_item:
|
if 'unit_prices' in filter_item:
|
||||||
continue # tiered定价项,不在此处检查
|
continue # tiered定价项,不在此处检查
|
||||||
item_ok = True
|
item_ok = True
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user