Files
GVSDSDK/json_encoder.py
TermiNexus 9be878b84a feat(sdk): 通用查询与工具层下沉,新增 App 体系镜像模型
P1 通用查询:auth/managers.py 新增 20 个查询方法(Role/Company/Department/Position/Menu/Tenant 六个 Manager);auth/ram.py 新增 RAMManager.ListPolicyResourceUUIDs;stats/manager.py 新增 StatsManager.ListAutoResetConfigs。

P2 App 体系:models.py 新增 App/TenantApp/CompanyApp/UserApp/AppConfig 五个 managed=False 镜像模型,字段与业务侧逐一对齐。

P3 工具下沉:新增 config.py 配置注入层与 money/json_encoder/celery_utils/exception_handler/redis_lock/ip_filter/storage/datetime_utils/string_utils 九个工具模块;model_utils.UUIDObj 增加 PascalCase 别名 Str/Bytes/UUID 与模块级转换函数。

同时移除 commission/stats/CashBook 镜像模型的重复索引声明,消除 Django models.E030。
2026-09-13 21:57:45 +08:00

20 lines
636 B
Python

"""GVS 自定义 JSON 编码器与渲染器——处理 UUIDObj 等非标准类型的序列化"""
from rest_framework.renderers import JSONRenderer as _DRFJSONRenderer
from rest_framework.utils.encoders import JSONEncoder as _DRFJSONEncoder
from gvsdsdk.model_utils import UUIDObj
class JSONEncoder(_DRFJSONEncoder):
"""扩展 DRF 的 JSONEncoder,支持 UUIDObj 序列化"""
def default(self, obj):
if isinstance(obj, UUIDObj):
return obj.str
return super().default(obj)
class JSONRenderer(_DRFJSONRenderer):
"""使用自定义 JSONEncoder 的渲染器"""
encoder_class = JSONEncoder