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。
10 lines
285 B
Python
10 lines
285 B
Python
def TruncateString(s, max_length=50, suffix='...'):
|
|
if not s or len(s) <= max_length:
|
|
return s
|
|
return s[:max_length - len(suffix)] + suffix
|
|
|
|
|
|
def PascalCaseToDictKey(pascal_key):
|
|
from gvsdsdk.model_base import pascal_to_snake
|
|
return pascal_to_snake(pascal_key)
|