| 123456789101112131415161718192021222324252627282930 |
- # -*- coding: utf-8 -*-
- """错题变式题映射:base_question -> variant_question(同知识点)"""
- from datetime import datetime
- from sqlalchemy import Column, DateTime, ForeignKey, Integer, UniqueConstraint
- from backend.database import Base
- class QuestionVariant(Base):
- __tablename__ = "question_variants"
- __table_args__ = (
- UniqueConstraint("base_question_id", "variant_question_id", name="uk_base_variant"),
- )
- id = Column(Integer, primary_key=True, index=True)
- # base_question_id:用户曾错过的“原题”
- base_question_id = Column(Integer, ForeignKey("questions.id"), nullable=False, index=True)
- # variant_question_id:同知识点变式题(可重复训练)
- variant_question_id = Column(Integer, ForeignKey("questions.id"), nullable=False, index=True)
- # 同知识点标注(可为空;若为空将退回 QuestionVariant 的 base/variant 映射)
- knowledge_point_id = Column(Integer, ForeignKey("knowledge_points.id"), nullable=True, index=True)
- weight = Column(Integer, default=1)
- created_at = Column(DateTime, default=datetime.utcnow)
|