from sqlalchemy import Column, Integer, String, ForeignKey from sqlalchemy.orm import relationship from app.database import Base class Section(Base): __tablename__ = "sections" id = Column(Integer, primary_key=True, index=True) document_id = Column(Integer, ForeignKey("pdf_documents.id", ondelete="CASCADE"), nullable=False) name = Column(String, nullable=False) start_page = Column(Integer, nullable=False) end_page = Column(Integer, nullable=False) document = relationship("PDFDocument", back_populates="sections") # No cascade delete — deleting a section must NOT destroy quizzes/questions quizzes = relationship("Quiz", back_populates="section")