42 lines
1.9 KiB
Python
42 lines
1.9 KiB
Python
# model/users.py
|
|
# 本文件定义 User 表的结构,映射到 MySQL 数据库
|
|
|
|
from sqlalchemy import Column, Integer, String, Float, ForeignKey,DateTime,Date
|
|
from sqlalchemy.orm import declarative_base,relationship
|
|
from sqlalchemy.sql import func
|
|
from database import Base
|
|
|
|
|
|
# model 类,对应 student表
|
|
class Student(Base):
|
|
__tablename__ = "student" #指定表名
|
|
|
|
stu_id = Column(Integer, primary_key = True) #主键,学生编号
|
|
stu_name = Column(String(10),nullable = False) #学生名字,非空约束
|
|
native_place = Column(String(30),nullable = False) #籍贯,非空
|
|
graduate_school = Column(String(50),nullable = False) #毕业院校
|
|
major = Column(String(20),nullable = False) #专业
|
|
enroll_time = Column(Date, comment = "入学时间",nullable = False)
|
|
graduate_time = Column(Date, comment = "毕业时间",nullable = False)
|
|
education = Column(String(10),nullable = False) #学历,非空
|
|
age = Column(Integer,nullable = False) #年龄
|
|
gender = Column(String(10),nullable = False) #性别
|
|
# employment_open_time = Column(Date,nullable = False) #简历开放时间
|
|
# company_name = Column(String(100),nullable = False) #公司名称
|
|
# salary = Column(Float,nullable = False) #薪资
|
|
# # 逻辑删除标记
|
|
is_deleted = Column(Integer, nullable=False,default=0, comment="0正常;1逻辑删除")
|
|
# 外键:关联 C_lass 的 id
|
|
class_id = Column(Integer, ForeignKey("c_lass.class_id"), nullable=False)
|
|
# 关系属性:关联 Classinfo
|
|
my_class = relationship("Classinfo", back_populates="students")
|
|
# 外键:关联Advisor的id
|
|
advisor_id = Column(Integer,ForeignKey("advisor.advisor_id"),nullable=False)
|
|
# 关系属性:关联Advisor
|
|
advisor = relationship("Advisor", back_populates="students")
|
|
# 关系属性:关联成绩(Score.student 的对端)
|
|
score = relationship("Score", back_populates="student")
|
|
|
|
|
|
|