This commit is contained in:
27942
2026-03-05 23:39:20 +08:00
parent 485e6d6a6a
commit fbe060d7ca

View File

@@ -109,15 +109,15 @@ class FilterConfigSerializer(serializers.ModelSerializer):
read_only_fields = ["id", "created_at", "updated_at"]
def to_internal_value(self, data):
"""请求中兼容 minAmount/maxAmount、最小金额/最大金额 等别名,统一为 min_amount/max_amount"""
if isinstance(data, dict):
data = dict(data)
for alias, canonical in FILTER_AMOUNT_ALIASES.items():
if alias in data and canonical not in data:
data[canonical] = data.pop(alias)
# 请求里 is_active 可能是字符串 "true"/"false"
if "is_active" in data and isinstance(data["is_active"], str):
data["is_active"] = data["is_active"].lower() in ("true", "1", "yes", "")
"""请求中兼容 minAmount/maxAmount、最小金额/最大金额 等别名;支持 multipart/form-dataQueryDict"""
# multipart/form-data 时 request.data 是 QueryDict需转为普通 dict 并统一处理
data = dict(data) if data is not None else {}
for alias, canonical in FILTER_AMOUNT_ALIASES.items():
if alias in data and canonical not in data:
data[canonical] = data.pop(alias)
# 请求里 is_active 可能是字符串 "true"/"false"(表单项均为字符串)
if "is_active" in data and isinstance(data.get("is_active"), str):
data["is_active"] = data["is_active"].lower() in ("true", "1", "yes", "")
return super().to_internal_value(data)