新增:软件概述model、新增修改软件概述

This commit is contained in:
2026-02-02 17:32:53 +08:00
parent beb8c2d25b
commit 4a1881bf32
11 changed files with 609 additions and 180 deletions

View File

@@ -478,3 +478,53 @@ class Abbreviation(models.Model):
db_table = 'project_abbreviation'
verbose_name = '缩略语和行业词汇'
verbose_name_plural = '缩略语和行业词汇'
# 一对一项目model软件概述
class ProjectSoftSummary(models.Model):
project = models.OneToOneField(to="Project", primary_key=True, db_constraint=False, related_name="projSoftSummary", on_delete=models.CASCADE,
verbose_name="关联项目", help_text="关联项目")
class Meta:
db_table = 'project_soft_summary'
verbose_name = "软件概述表"
verbose_name_plural = verbose_name
def default_json_value():
return ""
# 结构化排序数据
class StuctSortData(CoreModel):
"""
数据模式模型,对应 DataSchema。
通过外键与 SoftSummary 关联,形成一对多关系(数据模式对应多个项目的一对一字段)。
"""
soft_summary = models.ForeignKey(ProjectSoftSummary, db_constraint=False, related_name="data_schemas", verbose_name="所属软件概述",
on_delete=models.CASCADE)
type = models.CharField(
max_length=20,
choices=(('text', '文本'), ('table', '表格'), ('image', '图片')),
default='text',
verbose_name="数据类型",
)
# 题注字段
fontnote = models.CharField(
max_length=256,
blank=True,
default="",
verbose_name="题注",
help_text="数据的题注说明"
)
# 内容字段 - 存储字符串、列表、字典
content = models.JSONField(
verbose_name="内容",
help_text="存储文本内容或二维表格数据或图片数据",
default=default_json_value
)
class Meta:
db_table = 'data_schemas'
verbose_name = "结构排序化数据"
verbose_name_plural = verbose_name
def __str__(self):
return f"{self.soft_summary} - 结构排序化数据:({self.pk})"