50 lines
3.1 KiB
Python
50 lines
3.1 KiB
Python
from sqlalchemy import * # 导入sqlalchemy模块下所有的类,以便下面创建班级表模型和声明表的字段
|
|
from datetime import datetime # 导入datetime模块下的datetime类
|
|
from core.database import Base # 从core软件包下的database模块导入Base
|
|
|
|
class Classes( Base ): # 在python里的名字
|
|
__tablename__ = 'class_info_detail' # 在数据库中表的名字
|
|
#————创建班级"主键"的字段名————
|
|
id = Column( Integer # 声明字段的数据类型是"整数"
|
|
, primary_key = True # 声明是"主键"
|
|
, autoincrement = True # 声明是"自增主键"
|
|
, nullable = False # 声明是"非空"
|
|
)
|
|
# ————创建班级"编号"的字段名————
|
|
class_no = Column( String(50) # 声明字段的数据类型是"字符串,且最长为50个字符"
|
|
, unique = True # 声明是"唯一约束"
|
|
, nullable = False # 声明是"非空"
|
|
)
|
|
# ————创建"班级名称"的字段名————
|
|
class_name = Column( String(100) # 声明字段的数据类型是"字符串,且最长为100个字符"
|
|
, nullable = False # 声明是"非空"
|
|
)
|
|
# ————创建班级"开课时间"的字段名————
|
|
start_date = Column( DATE # 声明是字段数据类型是日期
|
|
, nullable = True # 声明是'可为空'
|
|
)
|
|
# ————创建班级"结课时间"的字段名————
|
|
end_date = Column( DATE # 声明是字段数据类型是'日期'
|
|
, nullable = True # 声明是"可为空"
|
|
)
|
|
# ————创建班级"创建时间"的字段名————
|
|
created_at = Column( DATETIME # 声明是字段数据类型是"日期时间"
|
|
, default=datetime.now # 声明是创建的默认值就是"当前时间"
|
|
, nullable = False # 声明是"非空"
|
|
)
|
|
# ————创建班级"更新时间"的字段名————
|
|
update_at = Column( DATETIME # 声明是字段数据类型是"日期时间"
|
|
, default=datetime.now #声明是第一次更新的时间就是第一次创建的时间一致
|
|
, onupdate=datetime.now # 声明"最后修改的时间"
|
|
, nullable = False # 声明是"非空"
|
|
)
|
|
# ————创建班级"备注信息"的字段名————
|
|
remark = Column( String(100) # 声明是字段数据类型是"字符串"
|
|
, nullable = True # 声明是"可以为空"
|
|
)
|
|
# ————创建班级"逻辑删除"的字段名————
|
|
is_deleted = Column( INTEGER # 声明是字段数据类型是"数字"
|
|
, default = 0 # 声明默认值是"0,未删除"
|
|
, nullable = False # 声明是"非空"
|
|
)
|