question_knowledge.py 819 B

123456789101112131415161718192021222324
  1. # -*- coding: utf-8 -*-
  2. """题目-知识点映射(支持一题多知识点)"""
  3. from datetime import datetime
  4. from sqlalchemy import Column, Integer, DateTime, ForeignKey
  5. from backend.database import Base
  6. class QuestionKnowledgePoint(Base):
  7. __tablename__ = "question_knowledge_points"
  8. id = Column(Integer, primary_key=True, index=True)
  9. # 暂时关联到 questions 表,后续可扩展到更通用的题库表
  10. question_id = Column(Integer, ForeignKey("questions.id"), nullable=False, index=True)
  11. # 对应 schema.sql 中的 knowledge_points.id
  12. knowledge_point_id = Column(Integer, nullable=False, index=True)
  13. # 该知识点在本题中的权重(1=次要,2=一般,3=核心)
  14. weight = Column(Integer, default=1)
  15. created_at = Column(DateTime, default=datetime.utcnow)