模板在线编辑与导出链路重构
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
from models.template import Template
|
||||
from models.paragraph import Paragraph
|
||||
from models.template_block import TemplateBlock
|
||||
from models.ai_model import AiModel
|
||||
from models.document import Document
|
||||
from models.generation_log import GenerationLog
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
from sqlalchemy import Boolean, Column, DateTime, ForeignKey, Integer, String, Text, func
|
||||
|
||||
from database import Base
|
||||
|
||||
|
||||
class TemplateBlock(Base):
|
||||
__tablename__ = "template_blocks"
|
||||
|
||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||
template_id = Column(Integer, ForeignKey("templates.id"), nullable=False)
|
||||
source_paragraph_id = Column(Integer, ForeignKey("paragraphs.id"), nullable=True)
|
||||
parent_block_id = Column(Integer, ForeignKey("template_blocks.id"), nullable=True)
|
||||
sort_index = Column(Integer, default=0, comment="排序")
|
||||
block_type = Column(String(30), default="text", comment="heading/text/table/ai_slot/variable")
|
||||
anchor_ref = Column(String(500), default="", comment="原始锚点引用")
|
||||
title = Column(String(500), default="", comment="块标题")
|
||||
content_json = Column(Text, default="{}", comment="块内容 JSON")
|
||||
style_json = Column(Text, default="{}", comment="块样式 JSON")
|
||||
edit_mode = Column(String(20), default="manual", comment="manual/ai")
|
||||
placeholder_key = Column(String(120), default="", comment="AI 占位键")
|
||||
variable_key = Column(String(120), default="", comment="变量键")
|
||||
default_value = Column(Text, default="", comment="默认值")
|
||||
model_id = Column(Integer, ForeignKey("ai_models.id"), nullable=True, comment="指定模型")
|
||||
need_prompt = Column(Boolean, default=True, comment="是否需要提示词")
|
||||
prompt_text = Column(Text, default="", comment="预设提示词")
|
||||
need_file = Column(Boolean, default=False, comment="是否需要上传参考文件")
|
||||
file_note = Column(Text, default="", comment="参考文件说明")
|
||||
output_format = Column(String(20), default="text", comment="text/table/mixed/chart")
|
||||
created_at = Column(DateTime, server_default=func.now())
|
||||
updated_at = Column(DateTime, server_default=func.now(), onupdate=func.now())
|
||||
Reference in New Issue
Block a user