discard adjustable models' id prefix & payload length
This commit is contained in:
+8
-6
@@ -56,22 +56,24 @@ class AutoID:
|
||||
不再需要手动定义任何 prefix,全自动根据 __tablename__ 编码生成
|
||||
支持子类自定义长度
|
||||
"""
|
||||
# 默认配置
|
||||
_id_prefix_len = 3 # 前缀长度
|
||||
_id_payload_len = 22 # 主体长度
|
||||
# 全局固定配置
|
||||
ID_PREFIX_LEN = 3
|
||||
ID_PAYLOAD_LEN = 22
|
||||
|
||||
@classmethod
|
||||
def id_length(cls) -> int:
|
||||
"""返回当前类 ID 的总长度"""
|
||||
return cls._id_prefix_len + cls._id_payload_len
|
||||
return cls.ID_PREFIX_LEN + cls.ID_PAYLOAD_LEN
|
||||
|
||||
@declared_attr
|
||||
def id(cls):
|
||||
# 运行时动态获取子类的 __tablename__
|
||||
tablename = cls.__tablename__
|
||||
|
||||
# 获取子类配置的长度
|
||||
p_len = cls._id_prefix_len
|
||||
s_len = cls._id_payload_len
|
||||
p_len = AutoID.ID_PREFIX_LEN
|
||||
s_len = AutoID.ID_PAYLOAD_LEN
|
||||
|
||||
prefix = encode_tablename_to_prefix(tablename, length=p_len)
|
||||
|
||||
# 核心工厂函数:拼接【编码后的表前缀】和【递增Payload】
|
||||
|
||||
Reference in New Issue
Block a user