exercise_record_detail_model.py 1.2 KB

1234567891011121314151617181920212223242526272829
  1. from sqlalchemy import Column, Integer, Boolean, Text, ForeignKey
  2. from .base_model import BaseModel, CreateModel, UpdateModel, DeleteModel
  3. class ExerciseRecordDetailModel(BaseModel, CreateModel, UpdateModel,
  4. DeleteModel):
  5. """
  6. 练习记录详情模型
  7. 对应数据库表: exercise_record_details
  8. """
  9. __tablename__ = 'exercise_record_details'
  10. record_id = Column(Integer,
  11. ForeignKey('exercise_records.id'),
  12. nullable=False,
  13. comment='练习记录ID')
  14. question_id = Column(Integer,
  15. ForeignKey('questions.id'),
  16. nullable=False,
  17. comment='题目ID')
  18. selected_option_id = Column(Integer,
  19. ForeignKey('question_options.id'),
  20. comment='用户选择的选项ID')
  21. user_answer = Column(Text, comment='用户答案')
  22. is_correct = Column(Boolean, nullable=False, comment='是否正确')
  23. time_spent = Column(Integer, nullable=False, comment='用时(秒)')
  24. def __repr__(self):
  25. return f"<ExerciseRecordDetail(id={self.id}, record_id={self.record_id}, question_id={self.question_id})>"