39 lines
1.9 KiB
Python
39 lines
1.9 KiB
Python
# -*- 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
|
||
}
|