初始化前后端学生管理系统项目
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
|
||||
|
||||
from sqlalchemy import Column, Integer, Date # 导入"列"和字段类型(整数、日期)
|
||||
from sqlalchemy.orm import relationship # 导入"关系"函数,用来定义表间关联
|
||||
from sqlalchemy_fastapi_demo_1.database import Base # 导入database.py里的Base基类
|
||||
|
||||
|
||||
class Classinfo(Base):# 定义ORM模型类,继承Base,SQLAlchemy才知道它对应一张表
|
||||
# 表名必须和建表语句一致:c_lass
|
||||
__tablename__ = "c_lass" # 指定表名,必须和MySQL里的表名一模一样,否则连不上表
|
||||
|
||||
class_id = Column(Integer, primary_key=True, index=True) # 主键列:整数类型;index=True表示建索引,按这个字段查会更快
|
||||
start_time = Column(Date, nullable=False) # 开班日期:日期类型;nullable=False = 不能为空(数据库层面强制)
|
||||
# 逻辑删除:0未删除,1已删除,默认0
|
||||
is_deleted = Column(Integer, nullable=False, default=0)
|
||||
|
||||
# 反向关系:Student.my_class / Teacher.classes 的对端
|
||||
students = relationship("Student", back_populates="my_class")
|
||||
# 声明关系:一个班级下有很多学生(一对多)。"Student"是字符串,指向学生模型
|
||||
# back_populates="my_class":和Student模型里的my_class属性互相呼应
|
||||
teachers = relationship("Teacher", back_populates="classes")
|
||||
# 同样:一个班级下有很多老师
|
||||
|
||||
Reference in New Issue
Block a user