from sqlalchemy import Column, Integer, String, Text, DateTime, Float, ForeignKey from sqlalchemy.orm import relationship from sqlalchemy.sql import func from app.database import Base class Joke(Base): """笑话表模型""" __tablename__ = "jokes" id = Column(Integer, primary_key=True, autoincrement=True) title = Column(String(200), nullable=False) content = Column(Text, nullable=False) # AI 润色后的内容 polished_content = Column(Text, nullable=True) # AI 评分 (1-10) ai_score = Column(Float, nullable=True) # AI 质量等级: excellent/good/ordinary/poor ai_level = Column(String(20), nullable=True) type_ids = Column(Text, nullable=True) crowd_ids = Column(Text, nullable=True) type_id = Column(Integer, ForeignKey("joke_types.id"), nullable=True) crowd_id = Column(Integer, ForeignKey("joke_crowds.id"), nullable=True) status = Column(String(20), default="pending") view_count = Column(Integer, default=0) like_count = Column(Integer, default=0) created_at = Column(DateTime, default=func.now()) updated_at = Column(DateTime, default=func.now(), onupdate=func.now()) # Relationships type = relationship("JokeType", back_populates="jokes") crowd = relationship("JokeCrowd", back_populates="jokes")