48 lines
1.5 KiB
Python
48 lines
1.5 KiB
Python
# 导入 Python 标准库 enum,用于定义枚举类型
|
|
import enum
|
|
|
|
# ==================== 性别枚举 ====================
|
|
class GenderEnum(str, enum.Enum):
|
|
"""
|
|
性别枚举:继承 str 和 enum.Enum,使成员值可直接作为字符串使用。
|
|
与数据库 enum('0','1') 对应。
|
|
"""
|
|
female = "0" # 女
|
|
male = "1" # 男
|
|
|
|
|
|
# ==================== 学籍状态枚举 ====================
|
|
class StudentStatusEnum(str, enum.Enum):
|
|
"""
|
|
学籍状态枚举,与数据库 enum('0','1','2','3','4') 对应。
|
|
"""
|
|
studying = "0" # 在读
|
|
suspended = "1" # 休学
|
|
quit = "2" # 退学
|
|
graduated = "3" # 毕业
|
|
completed = "4" # 结业
|
|
|
|
|
|
# ==================== 学历层次枚举 ====================
|
|
class EducationLevelEnum(str, enum.Enum):
|
|
"""
|
|
学历层次枚举,与数据库 enum('1','2','3','4') 对应。
|
|
"""
|
|
college = "1" # 大专
|
|
bachelor = "2" # 本科
|
|
master = "3" # 硕士研究生
|
|
doctor = "4" # 博士研究生
|
|
|
|
|
|
# ==================== 逻辑删除枚举 ====================
|
|
class IsDeletedEnum(str, enum.Enum):
|
|
"""
|
|
逻辑删除标志枚举。
|
|
注意:此处成员值为整数 0 和 1,而其他枚举均为字符串。
|
|
数据库列定义为 enum('0','1')(字符串),因此建议将此处改为:
|
|
no = "0"
|
|
yes = "1"
|
|
以保持类型一致,避免 SQLAlchemy 绑定参数时出现类型不匹配问题。
|
|
"""
|
|
no = "0" # 未删除
|
|
yes = "1" # 已删除 |