diff --git a/pricing/pricing.py b/pricing/pricing.py index b376c42..fa649ef 100644 --- a/pricing/pricing.py +++ b/pricing/pricing.py @@ -673,7 +673,14 @@ order by b.enabled_date desc""" # 处理 filters 中的区间定价(查找匹配的 unit_prices) if 'filters' in p: - for filter_item in p['filters']: + raw_filters2 = p['filters'] + if isinstance(raw_filters2, dict): + filter_items2 = [raw_filters2] + else: + filter_items2 = raw_filters2 + for filter_item in filter_items2: + if not isinstance(filter_item, dict): + continue item_value_mode = filter_item.get('value_mode') for fk, fv in filter_item.items(): if fk in ('unit_prices', 'value_mode'):