student_profile.py 911 B

12345678910111213141516171819202122232425
  1. # -*- coding: utf-8 -*-
  2. """学生学习档案:基础学习画像信息"""
  3. from datetime import datetime
  4. from sqlalchemy import Column, Integer, String, DateTime, ForeignKey
  5. from backend.database import Base
  6. class StudentProfile(Base):
  7. __tablename__ = "student_profiles"
  8. id = Column(Integer, primary_key=True, index=True)
  9. user_id = Column(Integer, ForeignKey("users.id"), nullable=False, index=True)
  10. # 当前学习进度 / 阶段
  11. current_topic = Column(String(80), nullable=True) # 如“物质构成-原子和分子”
  12. learning_stage = Column(String(50), nullable=True) # 如“初二下·化学上册”
  13. # 累计学习行为统计
  14. total_study_time = Column(Integer, default=0) # 单位:分钟
  15. total_questions_answered = Column(Integer, default=0)
  16. last_active_at = Column(DateTime, nullable=True)
  17. created_at = Column(DateTime, default=datetime.utcnow)