from sqlalchemy import Column, Text, Integer, ForeignKey, String from sqlalchemy.dialects.postgresql import UUID from sqlalchemy.orm import relationship from .simple_base import Base import uuid class Question(Base): __tablename__ = "questions" id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4) poll_id = Column(UUID(as_uuid=True), ForeignKey("polls.id", ondelete="CASCADE"), nullable=False) text = Column(Text, nullable=False) position = Column(Integer, nullable=True) type = Column(String(32), nullable=False, default="single") # single|multi|open choices = relationship("Choice", backref="question", cascade="all, delete-orphan", passive_deletes=True) __all__ = ["Base", "Question"]