""" 图片资源模型 复用自 personal-blog,添加 module 字段支持多模块共用 """ from sqlalchemy import Column, Integer, String, DateTime, func from app.database import Base class Image(Base): """上传的图片资源""" __tablename__ = "images" id = Column(Integer, primary_key=True, index=True) filename = Column(String(255), nullable=False, comment="存储文件名") original_name = Column(String(255), comment="原始文件名") file_path = Column(String(500), nullable=False, comment="原图路径") thumb_path = Column(String(500), comment="缩略图路径") description = Column(String(500), comment="图片描述") file_size = Column(Integer, comment="文件大小(字节)") width = Column(Integer, comment="图片宽度") height = Column(Integer, comment="图片高度") module = Column(String(20), default="news", comment="所属模块:news/product/page等") created_at = Column(DateTime, server_default=func.now(), comment="创建时间") def to_dict(self): """转换为字典""" return { "id": self.id, "filename": self.filename, "original_name": self.original_name, "file_path": self.file_path, "thumb_path": self.thumb_path, "description": self.description, "file_size": self.file_size, "width": self.width, "height": self.height, "module": self.module, "created_at": self.created_at.isoformat() if self.created_at else None, }