# -*- coding: utf-8 -*- from datetime import datetime from src.flask_prompt_master import db class Favorite(db.Model): """收藏表""" __tablename__ = 'favorites' id = db.Column(db.Integer, primary_key=True, autoincrement=True) user_id = db.Column(db.String(50), nullable=False, comment='用户ID(可以是IP或session_id)') template_id = db.Column(db.Integer, nullable=True, comment='模板ID') original_text = db.Column(db.Text, nullable=False, comment='原始输入文本') generated_prompt = db.Column(db.Text, nullable=False, comment='生成的提示词') system_prompt = db.Column(db.Text, nullable=True, comment='系统提示词') category = db.Column(db.String(50), nullable=True, comment='分类') industry = db.Column(db.String(50), nullable=True, comment='行业') profession = db.Column(db.String(50), nullable=True, comment='职业') tags = db.Column(db.String(500), nullable=True, comment='标签(JSON格式)') notes = db.Column(db.Text, nullable=True, comment='用户备注') created_time = db.Column(db.DateTime, default=datetime.now, comment='创建时间') updated_time = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now, comment='更新时间') def to_dict(self): """转换为字典""" return { 'id': self.id, 'template_id': self.template_id, 'original_text': self.original_text, 'generated_prompt': self.generated_prompt, 'system_prompt': self.system_prompt, 'category': self.category, 'industry': self.industry, 'profession': self.profession, 'tags': self.tags, 'notes': self.notes, 'created_time': self.created_time.strftime('%Y-%m-%d %H:%M:%S') if self.created_time else None, 'updated_time': self.updated_time.strftime('%Y-%m-%d %H:%M:%S') if self.updated_time else None }