diff --git a/apps/createDocument/controllers/__pycache__/dg.cpython-313.pyc b/apps/createDocument/controllers/__pycache__/dg.cpython-313.pyc index 61dbca9..930acb2 100644 Binary files a/apps/createDocument/controllers/__pycache__/dg.cpython-313.pyc and b/apps/createDocument/controllers/__pycache__/dg.cpython-313.pyc differ diff --git a/apps/createDocument/controllers/dg.py b/apps/createDocument/controllers/dg.py index 57f4c8e..15c1643 100644 --- a/apps/createDocument/controllers/dg.py +++ b/apps/createDocument/controllers/dg.py @@ -4,16 +4,18 @@ from typing import Any from datetime import datetime from docx.shared import Mm from docx.enum.text import WD_ALIGN_PARAGRAPH +from docx.enum.table import WD_ALIGN_VERTICAL from docx.oxml.ns import qn from ninja.errors import HttpError from ninja_extra import ControllerBase, api_controller, route from django.db import transaction from django.db.models import Q -from docxtpl import DocxTemplate, InlineImage +from docxtpl import DocxTemplate, InlineImage, Subdoc from pathlib import Path from utils.chen_response import ChenResponse # 导入数据库ORM -from apps.project.models import Project, Contact, Abbreviation, ProjectSoftSummary, StuctSortData +from apps.project.models import Project, Contact, Abbreviation, ProjectSoftSummary, StuctSortData, StaticSoftItem, StaticSoftHardware, \ + DynamicSoftTable, DynamicHardwareTable from apps.dict.models import Dict # 导入工具函数 from utils.util import get_str_dict, get_list_dict, get_testType, get_ident, get_str_abbr @@ -29,7 +31,7 @@ from apps.createSeiTaiDocument.extensions.logger import GenerateLogger # 导入mixins-处理文档片段 from apps.createDocument.extensions.mixins import FragementToolsMixin # 导入工具 -from apps.createDocument.extensions.tools import demand_sort_by_designKey, set_table_border +from apps.createDocument.extensions.tools import demand_sort_by_designKey, set_table_border_by_cell_position, set_cell_margins # @api_controller("/generate", tags=['生成大纲文档'], auth=JWTAuth(), permissions=[IsAuthenticated]) @api_controller("/generate", tags=['生成大纲文档']) @@ -312,9 +314,7 @@ class GenerateControllerDG(ControllerBase, FragementToolsMixin): subdoc = doc.new_subdoc() rows = len(data_obj.content) cols = len(data_obj.content[0]) - table = subdoc.add_table(rows=rows, cols=cols, style='Table Grid') - # 设置边框 - set_table_border(table) + table = subdoc.add_table(rows=rows, cols=cols) # 单元格处理 for row in range(rows): for col in range(cols): @@ -330,8 +330,12 @@ class GenerateControllerDG(ControllerBase, FragementToolsMixin): run._element.rPr.rFonts.set(qn('w:eastAsia'), '黑体') run.font.bold = False pa.alignment = WD_ALIGN_PARAGRAPH.CENTER + # 垂直居中 + cell.vertical_alignment = WD_ALIGN_VERTICAL.CENTER # 表格居中 table.alignment = WD_ALIGN_PARAGRAPH.CENTER + # 设置边框 + set_table_border_by_cell_position(table) item_context['content'] = subdoc elif data_obj.type == 'image': base64_bytes = base64.b64decode(data_obj.content.replace("data:image/png;base64,", "")) @@ -451,9 +455,85 @@ class GenerateControllerDG(ControllerBase, FragementToolsMixin): except PermissionError as e: return ChenResponse(status=400, code=400, message="模版文件已打开,请关闭后再试,{0}".format(e)) + # 通用生成静态软件项、静态硬件项、动态软件项、动态硬件信息的context,包含fontnote和table + @classmethod + def create_table_context(cls, table_data: list[list[str]], doc: DocxTemplate) -> Subdoc: + """注意:该函数会增加一列序号列""" + subdoc = doc.new_subdoc() + rows = len(table_data) + cols = len(table_data[0]) + 1 # 多渲染序号列 + table = subdoc.add_table(rows=rows, cols=cols) + # 单元格处理 + for row in range(rows): + for col in range(cols): + cell = table.cell(row, col) # 单元格数据 + # 设置边距 - 所有单元格 + set_cell_margins(cell, left=100, right=100, top=100, bottom=100) + pa = cell.paragraphs[0] + # 处理第一列 - 要居中 + if col == 0: + if row == 0: + cell.text = "序号" + else: + cell.text = str(row) + pa.alignment = WD_ALIGN_PARAGRAPH.CENTER + # 处理非第一列 + else: + cell.text = table_data[row][col - 1] + # 单独处理第一行 + for col in range(cols): + cell = table.cell(0, col) + cell.text = "" + pa = cell.paragraphs[0] + if col == 0: + run = pa.add_run("序号") + else: + run = pa.add_run(str(table_data[0][col - 1])) + run.font.name = '黑体' + run._element.rPr.rFonts.set(qn('w:eastAsia'), '黑体') + run.font.bold = False + pa.alignment = WD_ALIGN_PARAGRAPH.CENTER + # 设置序号列宽度 - 先自动调整为False然后设置True + for cell in table.columns[0].cells: + cell.width = Mm(15) + pa = cell.paragraphs[0] + pa.alignment = WD_ALIGN_PARAGRAPH.CENTER + # 表格居中 + table.alignment = WD_ALIGN_PARAGRAPH.CENTER + # 最后设置表格外边框 + set_table_border_by_cell_position(table) + return subdoc + + # 统一静态软件项、静态硬件项、动态软件项、动态硬件信息的word生成 - 模版模式 + @classmethod + def uniform_static_dynamic_response(cls, id: int, filename: str, r_filename: str, model) -> ChenResponse | None: + project_obj = get_object_or_404(Project, id=id) + input_path = Path.cwd() / 'media' / project_path(id) / 'form_template' / 'dg' / filename + doc = DocxTemplate(input_path) + qs = model.objects.filter(project=project_obj) + if qs.exists(): + obj = qs.first() + table_data = obj.table + subdoc = cls.create_table_context(table_data, doc) + context = { + 'fontnote': obj.fontnote, + 'table': subdoc, + } + doc.render(context, autoescape=True) + try: + doc.save(Path.cwd() / "media" / project_path(id) / "output_dir" / r_filename) + return ChenResponse(status=200, code=200, message="文档生成成功!") + except PermissionError as e: + return ChenResponse(status=400, code=400, message="模版文件已打开,请关闭后再试,{0}".format(e)) + return None + # 静态软件项 @route.get('/create/static_soft', url_name='create-static_soft') def create_static_soft(self, id: int): + res = self.uniform_static_dynamic_response(id, '静态软件项_2.docx', '静态软件项.docx', StaticSoftItem) + if res is not None: + return res + input_path = Path.cwd() / 'media' / project_path(id) / 'form_template' / 'dg' / '静态软件项.docx' doc = DocxTemplate(input_path) replace, frag, rich_text_list = self._generate_frag(id, doc, '静态软件项') @@ -466,6 +546,10 @@ class GenerateControllerDG(ControllerBase, FragementToolsMixin): # 静态硬件和固件项 @route.get('/create/static_hard', url_name='create-static_hard') def create_static_hard(self, id: int): + res = self.uniform_static_dynamic_response(id, '静态硬件和固件项_2.docx', '静态硬件和固件项.docx', StaticSoftHardware) + if res is not None: + return res + input_path = Path.cwd() / 'media' / project_path(id) / 'form_template' / 'dg' / '静态硬件和固件项.docx' doc = DocxTemplate(input_path) replace, frag, rich_text_list = self._generate_frag(id, doc, '静态硬件和固件项') @@ -497,6 +581,10 @@ class GenerateControllerDG(ControllerBase, FragementToolsMixin): # 动态软件项 @route.get('/create/dynamic_soft', url_name='create-dynamic_soft') def create_dynamic_soft(self, id: int): + res = self.uniform_static_dynamic_response(id, '动态软件项_2.docx', '动态软件项.docx', DynamicSoftTable) + if res is not None: + return res + project_obj: Project = get_object_or_404(Project, id=id) input_path = Path.cwd() / 'media' / project_path(id) / 'form_template' / 'dg' / '动态软件项.docx' doc = DocxTemplate(input_path) @@ -508,9 +596,14 @@ class GenerateControllerDG(ControllerBase, FragementToolsMixin): } return create_dg_docx("动态软件项.docx", context, id) - # 动态软件项 + # 动态硬件项 @route.get('/create/dynamic_hard', url_name='create-dynamic_hard') def create_dynamic_hard(self, id: int): + res = self.uniform_static_dynamic_response(id, '动态硬件和固件项_2.docx', + '动态硬件和固件项.docx', DynamicHardwareTable) + if res is not None: + return res + input_path = Path.cwd() / 'media' / project_path(id) / 'form_template' / 'dg' / '动态硬件和固件项.docx' doc = DocxTemplate(input_path) replace, frag, rich_text_list = self._generate_frag(id, doc, '动态硬件和固件项') diff --git a/apps/createDocument/extensions/__pycache__/tools.cpython-313.pyc b/apps/createDocument/extensions/__pycache__/tools.cpython-313.pyc index 5ad031d..f3965c5 100644 Binary files a/apps/createDocument/extensions/__pycache__/tools.cpython-313.pyc and b/apps/createDocument/extensions/__pycache__/tools.cpython-313.pyc differ diff --git a/apps/createDocument/extensions/tools.py b/apps/createDocument/extensions/tools.py index b3424e7..e54dc5d 100644 --- a/apps/createDocument/extensions/tools.py +++ b/apps/createDocument/extensions/tools.py @@ -1,6 +1,7 @@ from apps.project.models import TestDemand from docx.oxml import OxmlElement from docx.oxml.ns import qn +from docx.table import _Cell, Table def demand_sort_by_designKey(demand_obj: TestDemand) -> tuple[int, ...]: """仅限于测试项排序函数,传入sorted函数的key里面""" @@ -8,6 +9,30 @@ def demand_sort_by_designKey(demand_obj: TestDemand) -> tuple[int, ...]: sort_tuple = tuple(int(part) for part in parts) return sort_tuple +# 传入cell设置边框 +def set_cell_border(cell: _Cell, **kwargs): + tc = cell._tc + tcPr = tc.get_or_add_tcPr() + + # 检查标签是否存在,如果没有找到,则创建一个 + tcBorders = tcPr.first_child_found_in("w:tcBorders") + if tcBorders is None: + tcBorders = OxmlElement('w:tcBorders') + tcPr.append(tcBorders) + + for border_type in ['left', 'top', 'right', 'bottom']: + # 设置为固定的“黑色加粗” + border_data = kwargs.get(border_type, {"sz": "6", "val": "single", "color": "#000000", "space": "0"}) + tag = 'w:{}'.format(border_type) + element = tcBorders.find(qn(tag)) + if element is None: + element = OxmlElement(tag) + tcBorders.append(element) + for key in ["sz", "val", "color", "space", "shadow"]: + if key in border_data: + element.set(qn('w:{}'.format(key)), str(border_data[key])) + +# 弃用,请使用下面函数 def set_table_border(table, **kwargs): """docx-设置表格上下左右边框""" # 获取或创建表格属性 @@ -21,7 +46,7 @@ def set_table_border(table, **kwargs): # 创建新的边框元素 borders = OxmlElement('w:tblBorders') - # 只设置外边框:top, left, bottom, right + # 只设置外边框:top, left, bottom, right - 设置为固定“黑色加粗” # 不设置 insideV 和 insideH(内部边框) for border_type in ['top', 'left', 'bottom', 'right']: border_data = kwargs.get(border_type, {"sz": "12", "val": "single", "color": "#000000"}) @@ -31,9 +56,87 @@ def set_table_border(table, **kwargs): border_elem.set(qn('w:val'), border_data.get('val', 'single')) # 线条类型 border_elem.set(qn('w:sz'), border_data.get('sz', '12')) # 线条粗细(8代表1磅) border_elem.set(qn('w:color'), border_data.get('color', '#000000')) # 颜色 - borders.append(border_elem) # type:ignore + borders.append(border_elem) # type:ignore # 将边框设置添加到表格属性中 tbl_pr.append(borders) -__all__ = ['demand_sort_by_designKey', 'set_table_border'] +# ~~~新解决方案:传入table对象,遍历cell,判断cell是否在外层~~~ +def set_table_border_by_cell_position(table: Table): + """ + 智能设置表格边框:外边框粗,内边框细。 + """ + # 获取表格的总行数和总列数 + total_rows = len(table.rows) + total_cols = len(table.columns) + + for row_idx, row in enumerate(table.rows): + for col_idx, cell in enumerate(row.cells): + # 初始化边框参数字典 + border_kwargs = {} + + # 1. 判断上边框:如果是第一行,则设置粗上边框,否则不设置(由上一行的下边框决定,或单独设置细线) + if row_idx == 0: + border_kwargs['top'] = {"sz": "12", "val": "single", "color": "#000000"} + # 2. 判断下边框:如果是最后一行,则设置粗下边框 + if row_idx == total_rows - 1: + border_kwargs['bottom'] = {"sz": "12", "val": "single", "color": "#000000"} + # 3. 判断左边框:如果是第一列,则设置粗左边框 + if col_idx == 0: + border_kwargs['left'] = {"sz": "12", "val": "single", "color": "#000000"} + # 4. 判断右边框:如果是最后一列,则设置粗右边框 + if col_idx == total_cols - 1: + border_kwargs['right'] = {"sz": "12", "val": "single", "color": "#000000"} + + # 5. 设置内部网格线(细线) + # 内部横线 (insideH): 所有单元格都需要,但最后一行不需要(已经是外边框) + if row_idx < total_rows - 1: + border_kwargs['insideH'] = {"sz": "6", "val": "single", "color": "#000000"} + # 内部竖线 (insideV): 所有单元格都需要,但最后一列不需要(已经是外边框) + if col_idx < total_cols - 1: + border_kwargs['insideV'] = {"sz": "6", "val": "single", "color": "#000000"} + + # 调用您已有的 set_cell_border 函数 + set_cell_border(cell, **border_kwargs) + +# 设置cell的左右边距 +def set_cell_margins(cell: _Cell, **kwargs): + """ + 设置单元格边距,确保在Office和WPS中均能生效。 + 参数示例: set_cell_margins(cell, left=50, right=50, top=100, bottom=100) + 参数单位: 为二十分之一磅 (dxa, 1/1440英寸)。 + """ + tc = cell._tc + tcPr = tc.get_or_add_tcPr() + + # 关键步骤1:检查或创建 w:tcMar 元素 + tcMar = tcPr.find(qn('w:tcMar')) + if tcMar is None: + tcMar = OxmlElement('w:tcMar') + tcPr.append(tcMar) + + # 关键步骤2:为每个指定的边距方向创建元素,并同时设置新旧两套属性以保证兼容性[2](@ref) + # 定义映射:我们的参数名 -> (XML元素名, 备用的XML元素名) + margin_map = { + 'left': ('left', 'start'), + 'right': ('right', 'end'), + 'top': ('top', None), + 'bottom': ('bottom', None) + } + + for margin_key, value in kwargs.items(): + if margin_key in margin_map: + primary_tag, alternate_tag = margin_map[margin_key] + tags_to_set = [primary_tag] + if alternate_tag: # 如果存在备选标签(如left/start),则同时设置 + tags_to_set.append(alternate_tag) + + for tag in tags_to_set: + # 检查该边距元素是否已存在 + margin_element = tcMar.find(qn(f'w:{tag}')) + if margin_element is None: + margin_element = OxmlElement(f'w:{tag}') + tcMar.append(margin_element) # type:ignore + # 设置边距值和单位类型 + margin_element.set(qn('w:w'), str(value)) + margin_element.set(qn('w:type'), 'dxa') diff --git a/apps/project/__pycache__/models.cpython-313.pyc b/apps/project/__pycache__/models.cpython-313.pyc index 855f36f..a690e41 100644 Binary files a/apps/project/__pycache__/models.cpython-313.pyc and b/apps/project/__pycache__/models.cpython-313.pyc differ diff --git a/apps/project/controllers/__pycache__/project.cpython-313.pyc b/apps/project/controllers/__pycache__/project.cpython-313.pyc index b035012..a2921c2 100644 Binary files a/apps/project/controllers/__pycache__/project.cpython-313.pyc and b/apps/project/controllers/__pycache__/project.cpython-313.pyc differ diff --git a/apps/project/controllers/project.py b/apps/project/controllers/project.py index e07802a..40f9f92 100644 --- a/apps/project/controllers/project.py +++ b/apps/project/controllers/project.py @@ -14,9 +14,10 @@ from ninja.errors import HttpError from ninja import Query from utils.chen_response import ChenResponse from utils.chen_crud import create, multi_delete_project -from apps.project.models import Project, Round, ProjectSoftSummary, StuctSortData +from apps.project.models import Project, Round, ProjectSoftSummary, StuctSortData, StaticSoftItem, StaticSoftHardware, DynamicSoftTable, \ + DynamicHardwareTable from apps.project.schemas.project import ProjectRetrieveSchema, ProjectFilterSchema, ProjectCreateInput, \ - DeleteSchema, SoftSummarySchema, DataSchema + DeleteSchema, SoftSummarySchema, DataSchema, StaticDynamicData from utils.util import get_str_dict # 时间处理模块 from apps.project.tool.timeList import time_return_to @@ -277,6 +278,10 @@ class ProjectController(ControllerBase): all_status = { "soft_summary": False, "interface_image": False, + "static_soft_item": False, + "static_soft_hardware": False, + "dynamic_soft_item": False, + "dynamic_soft_hardware": False, } # 1.查看软件概述是否填写 project_obj = self.get_project_by_id(id) @@ -289,6 +294,22 @@ class ProjectController(ControllerBase): image_qs = StuctSortData.objects.filter(project=project_obj) if image_qs.exists(): all_status['interface_image'] = True + # 3.查看静态软件项是否填写 + static_item_qs = StaticSoftItem.objects.filter(project=project_obj) + if static_item_qs.exists(): + all_status['static_soft_item'] = True + # 4.静态硬件项 + static_hardware_qs = StaticSoftHardware.objects.filter(project=project_obj) + if static_hardware_qs.exists(): + all_status['static_soft_hardware'] = True + # 5.动态软件项 + dynamic_soft_item_qs = DynamicSoftTable.objects.filter(project=project_obj) + if dynamic_soft_item_qs.exists(): + all_status['dynamic_soft_item'] = True + # 5.动态软件项 + dynamic_hardware_qs = DynamicHardwareTable.objects.filter(project=project_obj) + if dynamic_hardware_qs.exists(): + all_status['dynamic_soft_hardware'] = True return ChenResponse(status=200, code=20000, data=all_status, message='查询成功') @classmethod @@ -351,7 +372,7 @@ class ProjectController(ControllerBase): "content": item.content, "fontnote": item.fontnote, } for item in dataSchem_qs]) - return ChenResponse(status=200, code=25002, data=None) + return ChenResponse(status=200, code=25002, data=[]) # ~~~接口图新增或修改~~~ @route.post("/interface_image/") @@ -361,9 +382,7 @@ class ProjectController(ControllerBase): image_qs = StuctSortData.objects.filter(project=project_obj) if image_qs.exists(): image_qs.delete() - self.bulk_create_data_schemas(project_obj, [dataSchema]) - else: - self.bulk_create_data_schemas(project_obj, [dataSchema]) + self.bulk_create_data_schemas(project_obj, [dataSchema]) # ~~~接口图-获取数据~~~ @route.get("/get_interface_image/", response=DataSchema) @@ -380,3 +399,36 @@ class ProjectController(ControllerBase): "fontnote": image_obj.fontnote, }) return ChenResponse(status=200, code=25002, data=None) + + @classmethod + def get_model_from_category(cls, category: str): + mapDict = { + '静态软件项': StaticSoftItem, + '静态硬件项': StaticSoftHardware, + '动态软件项': DynamicSoftTable, + '动态硬件项': DynamicHardwareTable + } + return mapDict[category] + + # ~~~静态软件项、静态硬件项、动态软件项、动态硬件项 - 获取~~~ + @route.get("/get_static_dynamic_items/") + def get_static_dynamic_items(self, id: int, category: str): + project_obj = self.get_project_by_id(id) + item_qs = self.get_model_from_category(category).objects.filter(project=project_obj) + if item_qs.exists(): + item_obj = item_qs.first() + return ChenResponse(status=200, code=25001, data={"table": item_obj.table, "fontnote": item_obj.fontnote}) + return ChenResponse(status=200, code=25002, data=None) + + # ~~~静态软件项、静态硬件项、动态软件项、动态硬件项 - 新增或修改~~~ + @route.post("/post_static_dynamic_item/") + @transaction.atomic + def post_static_dynamic_item(self, data: StaticDynamicData): + print(data) + project_obj = self.get_project_by_id(data.id) + model = self.get_model_from_category(data.category) + item_qs = model.objects.filter(project=project_obj) + if item_qs.exists(): + # 如果存在则修改 + item_qs.delete() + model.objects.create(project=project_obj, table=data.table, fontnote=data.fontnote) diff --git a/apps/project/migrations/0022_dynamichardwaretable_dynamicsofttable_and_more.py b/apps/project/migrations/0022_dynamichardwaretable_dynamicsofttable_and_more.py new file mode 100644 index 0000000..f2536ac --- /dev/null +++ b/apps/project/migrations/0022_dynamichardwaretable_dynamicsofttable_and_more.py @@ -0,0 +1,63 @@ +# Generated by Django 6.0.2 on 2026-02-05 09:45 + +import apps.project.models +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('project', '0021_alter_stuctsortdata_project'), + ] + + operations = [ + migrations.CreateModel( + name='DynamicHardwareTable', + fields=[ + ('project', models.OneToOneField(db_constraint=False, help_text='关联项目', on_delete=django.db.models.deletion.CASCADE, primary_key=True, related_name='dynamic_hardware', serialize=False, to='project.project', verbose_name='关联项目')), + ('table', models.JSONField(default=apps.project.models.default_json_value, help_text='储存表格二维数组', verbose_name='储存表格二维数组')), + ], + options={ + 'verbose_name': '动态硬件项表', + 'verbose_name_plural': '动态硬件项表', + 'db_table': 'project_dynamic_hardware', + }, + ), + migrations.CreateModel( + name='DynamicSoftTable', + fields=[ + ('project', models.OneToOneField(db_constraint=False, help_text='关联项目', on_delete=django.db.models.deletion.CASCADE, primary_key=True, related_name='dynamic_soft_item', serialize=False, to='project.project', verbose_name='关联项目')), + ('table', models.JSONField(default=apps.project.models.default_json_value, help_text='储存表格二维数组', verbose_name='储存表格二维数组')), + ], + options={ + 'verbose_name': '动态软件项表', + 'verbose_name_plural': '动态软件项表', + 'db_table': 'project_dynamic_soft_item', + }, + ), + migrations.CreateModel( + name='StaticSoftHardware', + fields=[ + ('project', models.OneToOneField(db_constraint=False, help_text='关联项目', on_delete=django.db.models.deletion.CASCADE, primary_key=True, related_name='static_hardware', serialize=False, to='project.project', verbose_name='关联项目')), + ('table', models.JSONField(default=apps.project.models.default_json_value, help_text='储存表格二维数组', verbose_name='储存表格二维数组')), + ], + options={ + 'verbose_name': '静态硬件项表', + 'verbose_name_plural': '静态硬件项表', + 'db_table': 'project_static_hardware', + }, + ), + migrations.CreateModel( + name='StaticSoftItem', + fields=[ + ('project', models.OneToOneField(db_constraint=False, help_text='关联项目', on_delete=django.db.models.deletion.CASCADE, primary_key=True, related_name='static_soft_item', serialize=False, to='project.project', verbose_name='关联项目')), + ('table', models.JSONField(default=apps.project.models.default_json_value, help_text='储存表格二维数组', verbose_name='储存表格二维数组')), + ], + options={ + 'verbose_name': '静态软件项表', + 'verbose_name_plural': '静态软件项表', + 'db_table': 'project_static_soft_item', + }, + ), + ] diff --git a/apps/project/migrations/0023_dynamichardwaretable_fontnote_and_more.py b/apps/project/migrations/0023_dynamichardwaretable_fontnote_and_more.py new file mode 100644 index 0000000..d88ffb2 --- /dev/null +++ b/apps/project/migrations/0023_dynamichardwaretable_fontnote_and_more.py @@ -0,0 +1,33 @@ +# Generated by Django 6.0.2 on 2026-02-05 11:10 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('project', '0022_dynamichardwaretable_dynamicsofttable_and_more'), + ] + + operations = [ + migrations.AddField( + model_name='dynamichardwaretable', + name='fontnote', + field=models.CharField(default='', help_text='数据的题注说明', max_length=256, null=True, verbose_name='题注'), + ), + migrations.AddField( + model_name='dynamicsofttable', + name='fontnote', + field=models.CharField(default='', help_text='数据的题注说明', max_length=256, null=True, verbose_name='题注'), + ), + migrations.AddField( + model_name='staticsofthardware', + name='fontnote', + field=models.CharField(default='', help_text='数据的题注说明', max_length=256, null=True, verbose_name='题注'), + ), + migrations.AddField( + model_name='staticsoftitem', + name='fontnote', + field=models.CharField(default='', help_text='数据的题注说明', max_length=256, null=True, verbose_name='题注'), + ), + ] diff --git a/apps/project/migrations/0024_projectdynamicdescription_and_more.py b/apps/project/migrations/0024_projectdynamicdescription_and_more.py new file mode 100644 index 0000000..ed04ed9 --- /dev/null +++ b/apps/project/migrations/0024_projectdynamicdescription_and_more.py @@ -0,0 +1,30 @@ +# Generated by Django 6.0.2 on 2026-02-05 17:48 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('project', '0023_dynamichardwaretable_fontnote_and_more'), + ] + + operations = [ + migrations.CreateModel( + name='ProjectDynamicDescription', + fields=[ + ('project', models.OneToOneField(db_constraint=False, help_text='关联项目', on_delete=django.db.models.deletion.CASCADE, primary_key=True, related_name='dynamic_des', serialize=False, to='project.project', verbose_name='关联项目')), + ], + options={ + 'verbose_name': '动态环境描述', + 'verbose_name_plural': '动态环境描述', + 'db_table': 'project_dynamic_description', + }, + ), + migrations.AddField( + model_name='stuctsortdata', + name='dynamic_description', + field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='data_schemas', to='project.projectdynamicdescription', verbose_name='所属动态环境描述'), + ), + ] diff --git a/apps/project/migrations/__pycache__/0022_dynamichardwaretable_dynamicsofttable_and_more.cpython-313.pyc b/apps/project/migrations/__pycache__/0022_dynamichardwaretable_dynamicsofttable_and_more.cpython-313.pyc new file mode 100644 index 0000000..34f0019 Binary files /dev/null and b/apps/project/migrations/__pycache__/0022_dynamichardwaretable_dynamicsofttable_and_more.cpython-313.pyc differ diff --git a/apps/project/migrations/__pycache__/0023_dynamichardwaretable_fontnote_and_more.cpython-313.pyc b/apps/project/migrations/__pycache__/0023_dynamichardwaretable_fontnote_and_more.cpython-313.pyc new file mode 100644 index 0000000..1412257 Binary files /dev/null and b/apps/project/migrations/__pycache__/0023_dynamichardwaretable_fontnote_and_more.cpython-313.pyc differ diff --git a/apps/project/migrations/__pycache__/0024_projectdynamicdescription_and_more.cpython-313.pyc b/apps/project/migrations/__pycache__/0024_projectdynamicdescription_and_more.cpython-313.pyc new file mode 100644 index 0000000..6eec53b Binary files /dev/null and b/apps/project/migrations/__pycache__/0024_projectdynamicdescription_and_more.cpython-313.pyc differ diff --git a/apps/project/models.py b/apps/project/models.py index 1fb544b..95b5e02 100644 --- a/apps/project/models.py +++ b/apps/project/models.py @@ -466,6 +466,9 @@ class Contact(CoreModel): ordering = ('create_datetime',) # ~~~~~2024年2月27日新增~~~~~ +def default_json_value(): + return "" + class Abbreviation(models.Model): objects = models.Manager() title = models.CharField(max_length=64, verbose_name="缩略语", help_text="缩略语") @@ -489,8 +492,64 @@ class ProjectSoftSummary(models.Model): verbose_name = "软件概述表" verbose_name_plural = verbose_name -def default_json_value(): - return "" +# 一对一项目model:动态测试环境描述 +class ProjectDynamicDescription(models.Model): + project = models.OneToOneField(to="Project", primary_key=True, db_constraint=False, related_name="dynamic_des", on_delete=models.CASCADE, + verbose_name="关联项目", help_text="关联项目") + + class Meta: + db_table = 'project_dynamic_description' + verbose_name = "动态环境描述" + verbose_name_plural = verbose_name + +# 一对一项目model:静态软件项表 +class StaticSoftItem(models.Model): + project = models.OneToOneField(to="Project", primary_key=True, db_constraint=False, related_name="static_soft_item", on_delete=models.CASCADE, + verbose_name="关联项目", help_text="关联项目") + table = models.JSONField(verbose_name="储存表格二维数组", help_text="储存表格二维数组", default=default_json_value) + fontnote = models.CharField(max_length=256, null=True, default="", verbose_name="题注", help_text="数据的题注说明") + + class Meta: + db_table = 'project_static_soft_item' + verbose_name = "静态软件项表" + verbose_name_plural = verbose_name + +# 一对一项目model:静态硬件项表 +class StaticSoftHardware(models.Model): + project = models.OneToOneField(to="Project", primary_key=True, db_constraint=False, related_name="static_hardware", on_delete=models.CASCADE, + verbose_name="关联项目", help_text="关联项目") + table = models.JSONField(verbose_name="储存表格二维数组", help_text="储存表格二维数组", default=default_json_value) + fontnote = models.CharField(max_length=256, null=True, default="", verbose_name="题注", help_text="数据的题注说明") + + class Meta: + db_table = 'project_static_hardware' + verbose_name = "静态硬件项表" + verbose_name_plural = verbose_name + +# 一对一项目model:动态软件项表 +class DynamicSoftTable(models.Model): + project = models.OneToOneField(to="Project", primary_key=True, db_constraint=False, related_name="dynamic_soft_item", on_delete=models.CASCADE, + verbose_name="关联项目", help_text="关联项目") + table = models.JSONField(verbose_name="储存表格二维数组", help_text="储存表格二维数组", default=default_json_value) + fontnote = models.CharField(max_length=256, null=True, default="", verbose_name="题注", help_text="数据的题注说明") + + class Meta: + db_table = 'project_dynamic_soft_item' + verbose_name = "动态软件项表" + verbose_name_plural = verbose_name + +# 一对一项目model:动态硬件项 +class DynamicHardwareTable(models.Model): + project = models.OneToOneField(to="Project", primary_key=True, db_constraint=False, related_name="dynamic_hardware", on_delete=models.CASCADE, + verbose_name="关联项目", help_text="关联项目") + + table = models.JSONField(verbose_name="储存表格二维数组", help_text="储存表格二维数组", default=default_json_value) + fontnote = models.CharField(max_length=256, null=True, default="", verbose_name="题注", help_text="数据的题注说明") + + class Meta: + db_table = 'project_dynamic_hardware' + verbose_name = "动态硬件项表" + verbose_name_plural = verbose_name # 结构化排序数据 class StuctSortData(CoreModel): @@ -502,7 +561,12 @@ class StuctSortData(CoreModel): on_delete=models.CASCADE, null=True, blank=True) # 接口图 project = models.OneToOneField(Project, db_constraint=False, related_name="data_schemas", on_delete=models.CASCADE, null=True, blank=True, - verbose_name="该接口图所属的项目") + verbose_name="该接口图所属的项目") + # 动态环境描述 + dynamic_description = models.ForeignKey(ProjectDynamicDescription, db_constraint=False, related_name="data_schemas", + verbose_name="所属动态环境描述", + on_delete=models.CASCADE, null=True, blank=True) + type = models.CharField( max_length=20, choices=(('text', '文本'), ('table', '表格'), ('image', '图片')), diff --git a/apps/project/schemas/__pycache__/project.cpython-313.pyc b/apps/project/schemas/__pycache__/project.cpython-313.pyc index bca5e9b..da415e7 100644 Binary files a/apps/project/schemas/__pycache__/project.cpython-313.pyc and b/apps/project/schemas/__pycache__/project.cpython-313.pyc differ diff --git a/apps/project/schemas/project.py b/apps/project/schemas/project.py index 6bcadfa..92cba51 100644 --- a/apps/project/schemas/project.py +++ b/apps/project/schemas/project.py @@ -54,4 +54,11 @@ class SoftSummarySchema(Schema): data: list[DataSchema] # ~~~软件接口图~~~ -## 复用DataSchema \ No newline at end of file +## 复用DataSchema + +# ~~~静态软件项、静态硬件项、动态软件项、动态硬件项~~~ +class StaticDynamicData(Schema): + id: int + category: str + table: list[list[str]] + fontnote: Optional[str] = "" diff --git a/conf/base_document/form_template/dg/动态硬件和固件项_2.docx b/conf/base_document/form_template/dg/动态硬件和固件项_2.docx new file mode 100644 index 0000000..27d3be9 Binary files /dev/null and b/conf/base_document/form_template/dg/动态硬件和固件项_2.docx differ diff --git a/conf/base_document/form_template/dg/动态软件项_2.docx b/conf/base_document/form_template/dg/动态软件项_2.docx new file mode 100644 index 0000000..4ad5ea2 Binary files /dev/null and b/conf/base_document/form_template/dg/动态软件项_2.docx differ diff --git a/conf/base_document/form_template/dg/静态硬件和固件项_2.docx b/conf/base_document/form_template/dg/静态硬件和固件项_2.docx new file mode 100644 index 0000000..2d3257b Binary files /dev/null and b/conf/base_document/form_template/dg/静态硬件和固件项_2.docx differ diff --git a/conf/base_document/form_template/dg/静态软件项_2.docx b/conf/base_document/form_template/dg/静态软件项_2.docx new file mode 100644 index 0000000..9701aeb Binary files /dev/null and b/conf/base_document/form_template/dg/静态软件项_2.docx differ diff --git a/logs/root_log b/logs/root_log index fc1dccb..2555b09 100644 --- a/logs/root_log +++ b/logs/root_log @@ -1,1566 +1,5 @@ -[WARNING][2025-05-13 17:20:59,503][log.py:248]Not Found: / -[WARNING][2025-05-13 17:20:59,624][log.py:248]Not Found: /favicon.ico -[WARNING][2025-05-14 09:46:32,307][log.py:248]Unauthorized: /api/system/getInfo -[WARNING][2025-05-14 09:46:32,405][log.py:248]Unauthorized: /api/system/logout -[WARNING][2025-05-14 09:46:40,412][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-05-14 19:24:30,067][operation.py:133]"GET - DutController[get_dut] /api/project/getDutOne" (500, '未找到相应的数据') -[ERROR][2025-05-14 19:24:30,076][log.py:248]Internal Server Error: /api/project/getDutOne -[WARNING][2025-05-14 19:24:57,399][operation.py:133]"GET - DutController[get_dut] /api/project/getDutOne" (500, '未找到相应的数据') -[ERROR][2025-05-14 19:24:57,408][log.py:248]Internal Server Error: /api/project/getDutOne -[WARNING][2025-05-15 09:45:13,826][log.py:248]Unauthorized: /api/system/getInfo -[WARNING][2025-05-15 09:45:13,861][log.py:248]Unauthorized: /api/system/logout -[WARNING][2025-05-15 09:45:22,540][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-05-16 11:09:33,252][log.py:248]Not Found: / -[WARNING][2025-05-16 11:09:33,373][log.py:248]Not Found: /favicon.ico -[WARNING][2025-05-16 11:10:30,333][log.py:248]Not Found: /.well-known/appspecific/com.chrome.devtools.json -[WARNING][2025-05-16 11:11:26,109][log.py:248]Not Found: /.well-known/appspecific/com.chrome.devtools.json -[WARNING][2025-05-16 11:11:30,126][log.py:248]Not Found: /.well-known/appspecific/com.chrome.devtools.json -[WARNING][2025-05-16 11:13:43,191][log.py:248]Not Found: /.well-known/appspecific/com.chrome.devtools.json -[WARNING][2025-05-16 11:14:21,613][log.py:248]Not Found: /.well-known/appspecific/com.chrome.devtools.json -[WARNING][2025-05-16 11:15:31,766][log.py:248]Not Found: /.well-known/appspecific/com.chrome.devtools.json -[WARNING][2025-05-16 11:24:10,664][log.py:248]Not Found: / -[WARNING][2025-05-16 11:24:20,924][log.py:248]Not Found: /.well-known/appspecific/com.chrome.devtools.json -[WARNING][2025-05-16 11:24:46,734][log.py:248]Not Found: /.well-known/appspecific/com.chrome.devtools.json -[WARNING][2025-05-16 11:26:57,439][log.py:248]Not Found: /.well-known/appspecific/com.chrome.devtools.json -[WARNING][2025-05-16 11:27:21,961][log.py:248]Not Found: /.well-known/appspecific/com.chrome.devtools.json -[WARNING][2025-05-16 13:28:36,074][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-05-17 15:36:12,935][log.py:248]Unauthorized: /api/system/getInfo -[WARNING][2025-05-17 15:36:13,000][log.py:248]Unauthorized: /api/system/logout -[WARNING][2025-05-17 15:36:20,760][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-05-23 10:36:33,307][log.py:248]Not Found: / -[WARNING][2025-05-23 10:36:33,430][log.py:248]Not Found: /favicon.ico -[WARNING][2025-05-26 15:15:24,703][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-05-26 15:19:25,390][log.py:248]Not Found: / -[WARNING][2025-05-26 15:19:25,513][log.py:248]Not Found: /favicon.ico -[WARNING][2025-05-27 09:11:32,138][log.py:248]Not Found: / -[WARNING][2025-05-27 09:11:32,616][log.py:248]Not Found: /favicon.ico -[WARNING][2025-05-27 09:13:04,921][log.py:248]Not Found: / -[WARNING][2025-05-27 09:50:50,827][log.py:248]Unauthorized: /api/system/getInfo -[WARNING][2025-05-27 09:50:50,894][log.py:248]Unauthorized: /api/system/logout -[WARNING][2025-05-27 09:50:59,888][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-05-28 09:24:15,443][log.py:248]Unauthorized: /api/system/getInfo -[WARNING][2025-05-28 09:24:15,480][log.py:248]Unauthorized: /api/system/logout -[WARNING][2025-05-28 09:24:26,068][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-05-28 18:35:30,083][log.py:248]Not Found: /api/project/testDemand/priorityReplace/ -[WARNING][2025-05-28 18:35:42,929][log.py:248]Not Found: /api/project/testDemand/priorityReplace/ -[WARNING][2025-05-29 09:22:57,248][log.py:248]Unauthorized: /api/system/getInfo -[WARNING][2025-05-29 09:22:57,316][log.py:248]Unauthorized: /api/system/logout -[WARNING][2025-05-29 09:23:05,519][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-05-29 15:36:46,411][log.py:248]Unauthorized: /api/system/getInfo -[WARNING][2025-05-29 15:36:46,430][log.py:248]Unauthorized: /api/system/logout -[WARNING][2025-05-29 15:36:55,727][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-05-29 15:42:40,386][operation.py:133]"GET - CaseController[copy_move_case_to_demand] /api/project/case/copy_or_move_to_demand" (500, '无法移动到自己所属测试项里面') -[ERROR][2025-05-29 15:42:40,395][log.py:248]Internal Server Error: /api/project/case/copy_or_move_to_demand -[WARNING][2025-06-12 19:52:28,194][log.py:248]Unauthorized: /api/system/getInfo -[WARNING][2025-06-12 19:52:28,229][log.py:248]Unauthorized: /api/system/logout -[WARNING][2025-06-12 19:52:39,174][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-06-16 18:40:17,570][log.py:248]Unauthorized: /api/system/getInfo -[WARNING][2025-06-16 18:40:17,629][log.py:248]Unauthorized: /api/system/logout -[WARNING][2025-06-16 18:40:25,246][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-06-17 18:40:34,724][log.py:248]Unauthorized: /api/system/getInfo -[WARNING][2025-06-17 18:40:34,779][log.py:248]Unauthorized: /api/system/logout -[WARNING][2025-06-17 18:40:44,206][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-06-17 19:06:24,482][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-06-17 19:28:33,023][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-06-17 19:34:34,074][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-06-17 19:35:56,384][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[ERROR][2025-06-17 19:38:35,896][log.py:248]Internal Server Error: /api/project/case/create_by_demand -[WARNING][2025-06-17 19:39:08,972][operation.py:133]"GET - CaseController[copy_move_case_to_demand] /api/project/case/copy_or_move_to_demand" (500, '无法移动到自己所属测试项里面') -[ERROR][2025-06-17 19:39:08,982][log.py:248]Internal Server Error: /api/project/case/copy_or_move_to_demand -[ERROR][2025-06-17 19:50:34,107][log.py:248]Internal Server Error: /api/testmanage/project/update/37 -[ERROR][2025-06-17 19:51:22,090][log.py:248]Internal Server Error: /api/testmanage/project/update/37 -[WARNING][2025-06-17 19:55:44,124][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-06-17 20:00:39,048][operation.py:133]"GET - CaseController[copy_move_case_to_demand] /api/project/case/copy_or_move_to_demand" (500, '无法移动到自己所属测试项里面') -[ERROR][2025-06-17 20:00:39,059][log.py:248]Internal Server Error: /api/project/case/copy_or_move_to_demand -[WARNING][2025-06-20 18:31:43,742][log.py:253]Unauthorized: /api/system/getInfo -[WARNING][2025-06-20 18:31:43,795][log.py:253]Unauthorized: /api/system/logout -[WARNING][2025-06-20 18:31:55,956][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-06-20 19:13:50,800][operation.py:133]"PUT - TestDemandController[update_testDemand] /api/project/testDemand/update/538" ('QuerySet.create() takes 1 positional argument but 2 were given',) -[ERROR][2025-06-20 19:13:50,800][errors.py:131]QuerySet.create() takes 1 positional argument but 2 were given -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 99, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\python13\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\testDemand.py", line 195, in update_testDemand - TestDemandContentStep.objects.create(step) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\manager.py", line 87, in manager_method - return getattr(self.get_queryset(), name)(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ -TypeError: QuerySet.create() takes 1 positional argument but 2 were given -[ERROR][2025-06-20 19:13:50,825][log.py:253]Internal Server Error: /api/project/testDemand/update/538 -[WARNING][2025-06-20 19:14:14,201][operation.py:133]"PUT - TestDemandController[update_testDemand] /api/project/testDemand/update/538" ('QuerySet.create() takes 1 positional argument but 2 were given',) -[ERROR][2025-06-20 19:14:14,201][errors.py:131]QuerySet.create() takes 1 positional argument but 2 were given -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 99, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\python13\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\testDemand.py", line 196, in update_testDemand - TestDemandContentStep.objects.create(step) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\manager.py", line 87, in manager_method - return getattr(self.get_queryset(), name)(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ -TypeError: QuerySet.create() takes 1 positional argument but 2 were given -[ERROR][2025-06-20 19:14:14,204][log.py:253]Internal Server Error: /api/project/testDemand/update/538 -[WARNING][2025-06-20 19:22:54,908][operation.py:133]"PUT - TestDemandController[update_testDemand] /api/project/testDemand/update/538" ("Field 'id' expected a number but got 'akExxrjyerVcPhHsAsRBcB'.",) -[ERROR][2025-06-20 19:22:54,908][errors.py:131]Field 'id' expected a number but got 'akExxrjyerVcPhHsAsRBcB'. -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\fields\__init__.py", line 2128, in get_prep_value - return int(value) -ValueError: invalid literal for int() with base 10: 'akExxrjyerVcPhHsAsRBcB' - -The above exception was the direct cause of the following exception: - -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 99, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\python13\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\testDemand.py", line 177, in update_testDemand - content_single.delete() - ~~~~~~~~~~~~~~~~~~~~~^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\base.py", line 1281, in delete - return collector.delete() - ~~~~~~~~~~~~~~~~^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\deletion.py", line 501, in delete - count = query.delete_batch(pk_list, self.using) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\sql\subqueries.py", line 38, in delete_batch - self.add_filter( - ~~~~~~~~~~~~~~~^ - f"{field.attname}__in", - ^^^^^^^^^^^^^^^^^^^^^^^ - pk_list[offset : offset + GET_ITERATOR_CHUNK_SIZE], - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\sql\query.py", line 1626, in add_filter - self.add_q(Q((filter_lhs, filter_rhs))) - ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\sql\query.py", line 1646, in add_q - clause, _ = self._add_q(q_object, can_reuse) - ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\sql\query.py", line 1678, in _add_q - child_clause, needed_inner = self.build_filter( - ~~~~~~~~~~~~~~~~~^ - child, - ^^^^^^ - ...<7 lines>... - update_join_types=update_join_types, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\sql\query.py", line 1588, in build_filter - condition = self.build_lookup(lookups, col, value) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\sql\query.py", line 1415, in build_lookup - lookup = lookup_class(lhs, rhs) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\lookups.py", line 38, in __init__ - self.rhs = self.get_prep_lookup() - ~~~~~~~~~~~~~~~~~~~~^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\lookups.py", line 536, in get_prep_lookup - return super().get_prep_lookup() - ~~~~~~~~~~~~~~~~~~~~~~~^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\lookups.py", line 321, in get_prep_lookup - rhs_value = self.lhs.output_field.get_prep_value(rhs_value) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\fields\__init__.py", line 2130, in get_prep_value - raise e.__class__( - "Field '%s' expected a number but got %r." % (self.name, value), - ) from e -ValueError: Field 'id' expected a number but got 'akExxrjyerVcPhHsAsRBcB'. -[ERROR][2025-06-20 19:22:54,954][log.py:253]Internal Server Error: /api/project/testDemand/update/538 -[WARNING][2025-06-23 09:38:48,076][log.py:253]Unauthorized: /api/system/getInfo -[WARNING][2025-06-23 09:38:48,135][log.py:253]Unauthorized: /api/system/logout -[WARNING][2025-06-23 09:39:01,200][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[ERROR][2025-06-23 09:39:40,070][log.py:253]Internal Server Error: /api/project/testDemand/save -[WARNING][2025-06-23 15:50:09,104][log.py:253]Not Found: / -[WARNING][2025-06-23 15:50:09,106][log.py:253]Not Found: / -[WARNING][2025-06-23 15:50:09,228][log.py:253]Not Found: /favicon.ico -[WARNING][2025-06-24 10:48:24,474][log.py:253]Unauthorized: /api/system/getInfo -[WARNING][2025-06-24 10:48:24,540][log.py:253]Unauthorized: /api/system/logout -[WARNING][2025-06-24 10:48:31,280][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[ERROR][2025-06-24 13:23:43,307][log.py:253]Internal Server Error: /api/project/testDemand/save -[ERROR][2025-06-24 13:25:24,728][log.py:253]Internal Server Error: /api/project/testDemand/update/554 -[WARNING][2025-06-24 13:30:41,064][operation.py:133]"PUT - TestDemandController[update_testDemand] /api/project/testDemand/update/554" ("'str' object has no attribute 'testType'",) -[ERROR][2025-06-24 13:30:41,064][errors.py:131]'str' object has no attribute 'testType' -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 99, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\python13\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\testDemand.py", line 167, in update_testDemand - if old_obj and old_ident.testType == payload.dict().items()['testType']: - ^^^^^^^^^^^^^^^^^^ -AttributeError: 'str' object has no attribute 'testType' -[ERROR][2025-06-24 13:30:41,088][log.py:253]Internal Server Error: /api/project/testDemand/update/554 -[WARNING][2025-06-24 13:31:40,139][operation.py:133]"PUT - TestDemandController[update_testDemand] /api/project/testDemand/update/554" ("'str' object has no attribute 'testType'",) -[ERROR][2025-06-24 13:31:40,139][errors.py:131]'str' object has no attribute 'testType' -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 99, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\python13\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\testDemand.py", line 167, in update_testDemand - if old_obj and old_ident.testType == payload.dict()['testType']: - ^^^^^^^^^^^^^^^^^^ -AttributeError: 'str' object has no attribute 'testType' -[ERROR][2025-06-24 13:31:40,141][log.py:253]Internal Server Error: /api/project/testDemand/update/554 -[WARNING][2025-06-24 13:32:21,173][operation.py:133]"PUT - TestDemandController[update_testDemand] /api/project/testDemand/update/554" ("'str' object has no attribute 'testType'",) -[ERROR][2025-06-24 13:32:21,173][errors.py:131]'str' object has no attribute 'testType' -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 99, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\python13\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\testDemand.py", line 168, in update_testDemand - if old_obj and old_ident.testType == payload.dict()['testType']: - ^^^^^^^^^^^^^^^^^^ -AttributeError: 'str' object has no attribute 'testType' -[ERROR][2025-06-24 13:32:21,177][log.py:253]Internal Server Error: /api/project/testDemand/update/554 -[WARNING][2025-06-24 13:32:54,351][operation.py:133]"PUT - TestDemandController[update_testDemand] /api/project/testDemand/update/554" ("'str' object has no attribute 'testType'",) -[ERROR][2025-06-24 13:32:54,351][errors.py:131]'str' object has no attribute 'testType' -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 99, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\python13\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\testDemand.py", line 168, in update_testDemand - if old_obj and old_ident.testType == payload.dict()['testType']: - ^^^^^^^^^^^^^^^^^^ -AttributeError: 'str' object has no attribute 'testType' -[ERROR][2025-06-24 13:32:54,355][log.py:253]Internal Server Error: /api/project/testDemand/update/554 -[WARNING][2025-06-24 13:33:28,458][operation.py:133]"PUT - TestDemandController[update_testDemand] /api/project/testDemand/update/554" ("'str' object has no attribute 'testType'",) -[ERROR][2025-06-24 13:33:28,459][errors.py:131]'str' object has no attribute 'testType' -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 99, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\python13\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\testDemand.py", line 168, in update_testDemand - if old_obj and old_ident.testType == payload.dict()['testType']: - ^^^^^^^^^^^^^^^^^^ -AttributeError: 'str' object has no attribute 'testType' -[ERROR][2025-06-24 13:33:28,461][log.py:253]Internal Server Error: /api/project/testDemand/update/554 -[WARNING][2025-06-24 13:34:49,241][operation.py:133]"PUT - TestDemandController[update_testDemand] /api/project/testDemand/update/554" ("'str' object has no attribute 'testType'",) -[ERROR][2025-06-24 13:34:49,242][errors.py:131]'str' object has no attribute 'testType' -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 99, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\python13\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\testDemand.py", line 168, in update_testDemand - if old_obj and old_ident.testType == payload.dict()['testType']: - ^^^^^^^^^^^^^^^^^^ -AttributeError: 'str' object has no attribute 'testType' -[ERROR][2025-06-24 13:34:49,243][log.py:253]Internal Server Error: /api/project/testDemand/update/554 -[ERROR][2025-06-24 13:37:25,218][log.py:253]Internal Server Error: /api/project/testDemand/update/554 -[ERROR][2025-06-24 13:45:28,405][log.py:253]Internal Server Error: /api/project/testDemand/update/538 -[ERROR][2025-06-24 13:45:37,820][log.py:253]Internal Server Error: /api/project/testDemand/update/538 -[ERROR][2025-06-24 13:54:04,108][log.py:253]Internal Server Error: /api/project/testDemand/update/574 -[ERROR][2025-06-24 13:54:21,656][log.py:253]Internal Server Error: /api/project/testDemand/update/574 -[ERROR][2025-06-24 13:54:51,291][log.py:253]Internal Server Error: /api/project/testDemand/update/554 -[ERROR][2025-06-24 13:57:11,927][log.py:253]Internal Server Error: /api/project/testDemand/update/574 -[ERROR][2025-06-24 13:58:49,636][log.py:253]Internal Server Error: /api/project/testDemand/update/574 -[ERROR][2025-06-24 13:59:26,395][log.py:253]Internal Server Error: /api/project/testDemand/update/574 -[ERROR][2025-06-24 13:59:35,647][log.py:253]Internal Server Error: /api/project/testDemand/update/574 -[ERROR][2025-06-24 14:00:17,238][log.py:253]Internal Server Error: /api/project/testDemand/update/574 -[ERROR][2025-06-24 14:00:20,458][log.py:253]Internal Server Error: /api/project/testDemand/update/574 -[ERROR][2025-06-24 14:00:20,967][log.py:253]Internal Server Error: /api/project/testDemand/update/574 -[ERROR][2025-06-24 14:00:32,875][log.py:253]Internal Server Error: /api/project/testDemand/update/574 -[ERROR][2025-06-24 14:00:33,431][log.py:253]Internal Server Error: /api/project/testDemand/update/574 -[ERROR][2025-06-24 14:03:50,425][log.py:253]Internal Server Error: /api/project/testDemand/update/574 -[ERROR][2025-06-24 14:03:52,007][log.py:253]Internal Server Error: /api/project/testDemand/update/574 -[ERROR][2025-06-24 14:03:52,376][log.py:253]Internal Server Error: /api/project/testDemand/update/574 -[ERROR][2025-06-24 14:03:52,509][log.py:253]Internal Server Error: /api/project/testDemand/update/574 -[WARNING][2025-06-25 19:59:39,817][log.py:253]Unauthorized: /api/system/getInfo -[WARNING][2025-06-25 19:59:39,875][log.py:253]Unauthorized: /api/system/logout -[WARNING][2025-06-25 19:59:48,452][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-07-11 20:26:09,493][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-08-02 23:11:38,217][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-08-11 10:51:01,112][log.py:253]Not Found: / -[WARNING][2025-08-11 10:51:01,115][log.py:253]Not Found: / -[WARNING][2025-08-11 10:51:01,229][log.py:253]Not Found: /favicon.ico -[WARNING][2025-08-11 10:51:01,234][log.py:253]Not Found: /favicon.ico -[WARNING][2025-08-11 10:54:44,310][log.py:253]Not Found: / -[WARNING][2025-08-26 15:32:42,233][log.py:253]Unauthorized: /api/system/getInfo -[WARNING][2025-08-26 15:32:42,307][log.py:253]Unauthorized: /api/system/logout -[WARNING][2025-08-26 15:32:54,673][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-08-29 23:36:57,981][log.py:253]Unauthorized: /api/system/getInfo -[WARNING][2025-08-29 23:36:58,051][log.py:253]Unauthorized: /api/system/logout -[WARNING][2025-08-29 23:37:10,653][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-11-06 15:52:18,257][log.py:253]Unauthorized: /api/system/getInfo -[WARNING][2025-11-06 15:52:18,312][log.py:253]Unauthorized: /api/system/logout -[WARNING][2025-11-06 15:52:27,134][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-11-06 16:03:42,332][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-11-17 16:45:54,859][log.py:253]Unauthorized: /api/system/getInfo -[WARNING][2025-11-17 16:45:54,926][log.py:253]Unauthorized: /api/system/logout -[WARNING][2025-11-17 16:46:10,800][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-11-18 15:07:15,118][log.py:253]Unauthorized: /api/system/getInfo -[WARNING][2025-11-18 15:07:15,177][log.py:253]Unauthorized: /api/system/logout -[WARNING][2025-11-26 14:01:13,585][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-11-26 14:01:13,879][operation.py:131]"POST - UserTokenController[obtain_token] /api/system/login" 401 -[WARNING][2025-11-26 14:01:13,881][log.py:253]Unauthorized: /api/system/login -[WARNING][2025-11-26 14:01:18,695][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-11-28 13:08:56,051][log.py:253]Not Found: /api/user/admin -[WARNING][2025-11-28 13:09:03,236][log.py:253]Not Found: /api/user/admin -[WARNING][2025-11-28 13:09:15,425][log.py:253]Not Found: /api/user/admin -[WARNING][2025-12-01 09:14:00,800][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-12-02 09:12:28,085][log.py:253]Unauthorized: /api/system/getInfo -[WARNING][2025-12-02 09:12:28,124][log.py:253]Unauthorized: /api/system/logout -[WARNING][2025-12-02 09:12:36,217][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-12-02 15:56:55,439][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-12-02 21:18:59,902][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-12-02 21:19:00,236][operation.py:131]"POST - UserTokenController[obtain_token] /api/system/login" 401 -[WARNING][2025-12-02 21:19:00,238][log.py:253]Unauthorized: /api/system/login -[WARNING][2025-12-02 21:24:22,073][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-12-03 15:13:23,183][log.py:253]Unauthorized: /api/system/getInfo -[WARNING][2025-12-03 15:13:23,373][log.py:253]Unauthorized: /api/system/logout -[WARNING][2025-12-03 15:17:42,724][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-12-03 15:30:54,106][log.py:253]Not Found: / -[WARNING][2025-12-03 15:30:54,221][log.py:253]Not Found: /favicon.ico -[WARNING][2025-12-03 15:31:06,398][operation.py:131]"POST - AITestController[ai_return] /api/local_doc_qa/testing_item" ('Type is not JSON serializable: AIPostSchema',) -[ERROR][2025-12-03 15:31:06,398][errors.py:131]Type is not JSON serializable: AIPostSchema -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run - _processed_results = self._result_to_response( - request, result, ctx.response - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\operation.py", line 270, in _result_to_response - return self.api.create_response( - ~~~~~~~~~~~~~~~~~~~~~~~~^ - request, result, temporal_response=temporal_response - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "E:\pycharmProjects\cdtestplant_v1\utils\chen_ninja.py", line 41, in create_response - content = self.renderer.render(request, std_data, response_status=status) - File "E:\pycharmProjects\cdtestplant_v1\cdtestplant_v1\renderer.py", line 11, in render - return orjson.dumps(data) - ~~~~~~~~~~~~^^^^^^ -TypeError: Type is not JSON serializable: AIPostSchema -[ERROR][2025-12-03 15:31:06,400][log.py:253]Internal Server Error: /api/local_doc_qa/testing_item -[WARNING][2025-12-03 15:32:42,222][operation.py:131]"POST - AITestController[ai_return] /api/local_doc_qa/testing_item" ('Object of type AIPostSchema is not JSON serializable',) -[ERROR][2025-12-03 15:32:42,222][errors.py:131]Object of type AIPostSchema is not JSON serializable -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 99, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "E:\pycharmProjects\cdtestplant_v1\apps\dict\controllers\common.py", line 23, in ai_return - return ChenResponse(data=item) - File "E:\pycharmProjects\cdtestplant_v1\utils\chen_response.py", line 24, in __init__ - data = json.dumps(std_data, cls=DateEncoder) - File "D:\python13\Lib\json\__init__.py", line 238, in dumps - **kw).encode(obj) - ~~~~~~^^^^^ - File "D:\python13\Lib\json\encoder.py", line 200, in encode - chunks = self.iterencode(o, _one_shot=True) - File "D:\python13\Lib\json\encoder.py", line 261, in iterencode - return _iterencode(o, 0) - File "E:\pycharmProjects\cdtestplant_v1\utils\chen_response.py", line 11, in default - return json.JSONEncoder.default(self, obj) - ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ - File "D:\python13\Lib\json\encoder.py", line 180, in default - raise TypeError(f'Object of type {o.__class__.__name__} ' - f'is not JSON serializable') -TypeError: Object of type AIPostSchema is not JSON serializable -[ERROR][2025-12-03 15:32:42,229][log.py:253]Internal Server Error: /api/local_doc_qa/testing_item -[WARNING][2025-12-03 15:33:12,683][operation.py:131]"POST - AITestController[ai_return] /api/local_doc_qa/testing_item" ('Object of type AIPostSchema is not JSON serializable',) -[ERROR][2025-12-03 15:33:12,683][errors.py:131]Object of type AIPostSchema is not JSON serializable -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 99, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "E:\pycharmProjects\cdtestplant_v1\apps\dict\controllers\common.py", line 26, in ai_return - return ChenResponse(data=item) - File "E:\pycharmProjects\cdtestplant_v1\utils\chen_response.py", line 24, in __init__ - data = json.dumps(std_data, cls=DateEncoder) - File "D:\python13\Lib\json\__init__.py", line 238, in dumps - **kw).encode(obj) - ~~~~~~^^^^^ - File "D:\python13\Lib\json\encoder.py", line 200, in encode - chunks = self.iterencode(o, _one_shot=True) - File "D:\python13\Lib\json\encoder.py", line 261, in iterencode - return _iterencode(o, 0) - File "E:\pycharmProjects\cdtestplant_v1\utils\chen_response.py", line 11, in default - return json.JSONEncoder.default(self, obj) - ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ - File "D:\python13\Lib\json\encoder.py", line 180, in default - raise TypeError(f'Object of type {o.__class__.__name__} ' - f'is not JSON serializable') -TypeError: Object of type AIPostSchema is not JSON serializable -[ERROR][2025-12-03 15:33:12,703][log.py:253]Internal Server Error: /api/local_doc_qa/testing_item -[WARNING][2025-12-03 15:49:10,317][log.py:253]Not Found: /api/api/local_doc_qa/testing_item -[ERROR][2025-12-03 17:38:54,536][log.py:253]Internal Server Error: /api/project/testDemand/save -[ERROR][2025-12-03 17:45:58,931][log.py:253]Internal Server Error: /api/project/testDemand/save -[WARNING][2025-12-04 09:54:24,808][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[ERROR][2025-12-04 09:55:44,899][log.py:253]Internal Server Error: /api/project/testDemand/save -[ERROR][2025-12-04 09:57:37,563][log.py:253]Internal Server Error: /api/project/testDemand/save -[ERROR][2025-12-04 09:58:39,189][log.py:253]Internal Server Error: /api/project/testDemand/save -[WARNING][2025-12-07 15:05:08,442][log.py:249]Unauthorized: /api/system/getInfo -[WARNING][2025-12-07 15:05:08,500][log.py:249]Unauthorized: /api/system/logout -[WARNING][2025-12-07 15:05:12,874][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-12-08 10:22:48,387][log.py:249]Unauthorized: /api/system/getInfo -[WARNING][2025-12-08 10:22:48,442][log.py:249]Unauthorized: /api/system/logout -[WARNING][2025-12-08 10:22:51,885][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[ERROR][2025-12-08 10:53:52,530][log.py:249]Internal Server Error: /api/project/testDemand/update/554 -[WARNING][2025-12-08 13:13:15,058][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-08 13:13:15,064][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-08 13:13:23,194][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-08 13:13:23,204][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-08 13:14:49,599][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-08 13:14:49,612][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-08 13:14:53,939][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-08 13:14:53,948][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-08 13:14:56,401][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-08 13:14:56,410][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-08 13:15:48,359][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-08 13:15:48,369][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-08 13:16:33,358][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-12-08 13:16:37,452][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-08 13:16:37,464][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-08 13:16:45,773][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-08 13:16:45,783][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-08 13:18:22,383][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-08 13:18:22,450][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-08 13:20:09,088][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-08 13:20:09,097][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 11:15:55,519][log.py:249]Unauthorized: /api/system/getInfo -[WARNING][2025-12-09 11:15:55,577][log.py:249]Unauthorized: /api/system/logout -[WARNING][2025-12-09 11:22:22,834][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-12-09 11:22:42,163][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 11:22:42,172][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 11:22:58,464][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 11:22:58,475][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 11:23:50,507][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 11:23:50,521][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 11:23:59,282][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 11:23:59,304][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 11:24:57,850][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 11:24:57,859][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 11:25:51,958][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 11:25:51,966][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 11:26:57,165][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 11:26:57,174][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 11:27:30,335][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 11:27:30,343][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 11:31:36,330][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 11:31:36,339][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 11:31:44,440][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 11:31:44,450][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 11:31:47,092][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 11:31:47,100][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 11:31:49,949][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 11:31:49,961][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 13:04:14,799][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 13:04:14,810][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 13:06:28,392][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 13:06:28,403][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 13:06:42,226][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 13:06:42,235][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 13:06:56,591][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 13:06:56,601][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 13:06:58,810][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 13:06:58,821][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 13:07:21,387][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 13:07:21,400][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 13:07:24,132][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 13:07:24,142][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 13:07:33,878][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 13:07:33,889][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 13:07:46,630][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 13:07:46,644][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 13:09:00,690][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 13:09:00,702][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 13:09:19,001][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 13:09:19,012][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 13:09:25,655][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 13:09:25,665][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 13:10:51,324][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 13:10:51,336][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 13:10:54,125][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 13:10:54,134][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 13:11:12,004][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 13:11:12,013][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 13:11:14,178][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 13:11:14,190][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 13:11:27,295][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 13:11:27,307][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 13:11:30,159][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 13:11:30,172][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 13:11:53,931][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 13:11:53,940][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 13:12:25,181][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 13:12:25,189][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 13:12:29,393][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 13:12:29,404][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 13:12:31,547][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 13:12:31,558][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-09 13:12:40,911][operation.py:131]"GET - DesignController[get_dut] /api/project/getDesignOne" (500, '未找到相应的数据') -[ERROR][2025-12-09 13:12:40,922][log.py:249]Internal Server Error: /api/project/getDesignOne -[WARNING][2025-12-10 09:30:38,754][log.py:249]Unauthorized: /api/system/getInfo -[WARNING][2025-12-10 09:30:38,767][log.py:249]Unauthorized: /api/system/logout -[WARNING][2025-12-10 09:30:42,017][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-12-10 13:32:02,742][log.py:249]Unauthorized: /api/system/getInfo -[WARNING][2025-12-10 13:32:02,858][log.py:249]Unauthorized: /api/system/logout -[WARNING][2025-12-10 13:35:24,533][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-12-11 13:58:06,698][log.py:249]Unauthorized: /api/system/getInfo -[WARNING][2025-12-11 13:58:06,755][log.py:249]Unauthorized: /api/system/logout -[WARNING][2025-12-11 13:58:12,066][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-12-12 09:13:42,453][log.py:249]Unauthorized: /api/system/getInfo -[WARNING][2025-12-12 09:13:42,494][log.py:249]Unauthorized: /api/system/logout -[WARNING][2025-12-12 09:14:05,727][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-12-12 10:11:40,953][operation.py:131]"POST - GenerateSeitaiController[create_dgDocument] /api/create/dgDocument" (500, '第一轮次被测件:需求规格说明可能未创建,生成文档失败') -[ERROR][2025-12-12 10:11:40,953][log.py:249]Internal Server Error: /api/create/dgDocument -[WARNING][2025-12-12 10:16:22,201][log.py:249]Bad Request: /api/project/round/delete -[WARNING][2025-12-12 16:13:07,886][log.py:249]Not Found: /api/project/create_renji/ -[WARNING][2025-12-12 16:13:14,697][log.py:249]Not Found: /api/project/create_renji/ -[WARNING][2025-12-12 16:13:29,436][log.py:249]Not Found: /api/project/create_renji/ -[WARNING][2025-12-12 16:21:44,243][log.py:249]Payment Required: /api/project/create_renji/ -[WARNING][2025-12-12 16:22:09,411][log.py:249]Payment Required: /api/project/create_renji/ -[WARNING][2025-12-12 16:23:07,595][log.py:249]Payment Required: /api/project/create_renji/ -[WARNING][2025-12-12 16:23:10,268][log.py:249]Payment Required: /api/project/create_renji/ -[WARNING][2025-12-12 16:23:24,260][log.py:249]Payment Required: /api/project/create_renji/ -[WARNING][2025-12-12 16:23:27,898][log.py:249]Payment Required: /api/project/create_renji/ -[WARNING][2025-12-12 16:24:00,791][log.py:249]Payment Required: /api/project/create_renji/ -[WARNING][2025-12-15 09:05:32,300][log.py:249]Unauthorized: /api/system/getInfo -[WARNING][2025-12-15 09:05:32,334][log.py:249]Unauthorized: /api/system/logout -[WARNING][2025-12-15 09:05:37,471][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-12-15 09:33:41,980][log.py:249]Unauthorized: /api/system/getInfo -[WARNING][2025-12-15 09:33:41,992][log.py:249]Unauthorized: /api/system/logout -[WARNING][2025-12-15 09:57:02,672][operation.py:131]"GET - TestDemandController[get_test_demand_list] /api/project/getTestDemandList" (1054, "Unknown column 'project_testdemandcontent.subDescription' in 'field list'") -[ERROR][2025-12-15 09:57:02,672][errors.py:131](1054, "Unknown column 'project_testdemandcontent.subDescription' in 'field list'") -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\utils.py", line 105, in _execute - return self.cursor.execute(sql, params) - ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\mysql\base.py", line 78, in execute - return self.cursor.execute(query, args) - ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\MySQLdb\cursors.py", line 179, in execute - res = self._query(mogrified_query) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\MySQLdb\cursors.py", line 330, in _query - db.query(q) - ~~~~~~~~^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\MySQLdb\connections.py", line 280, in query - _mysql.connection.query(self, query) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ -MySQLdb.OperationalError: (1054, "Unknown column 'project_testdemandcontent.subDescription' in 'field list'") - -The above exception was the direct cause of the following exception: - -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 99, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\python13\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\pagination.py", line 270, in view_with_pagination - items = func(request, **kwargs) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\testDemand.py", line 64, in get_test_demand_list - for step_obj in query_single.testQField.all(): - ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 390, in __iter__ - self._fetch_all() - ~~~~~~~~~~~~~~~^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 2000, in _fetch_all - self._result_cache = list(self._iterable_class(self)) - ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 95, in __iter__ - results = compiler.execute_sql( - chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\sql\compiler.py", line 1624, in execute_sql - cursor.execute(sql, params) - ~~~~~~~~~~~~~~^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\utils.py", line 122, in execute - return super().execute(sql, params) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\utils.py", line 79, in execute - return self._execute_with_wrappers( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - sql, params, many=False, executor=self._execute - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\utils.py", line 92, in _execute_with_wrappers - return executor(sql, params, many, context) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\utils.py", line 100, in _execute - with self.db.wrap_database_errors: - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\utils.py", line 94, in __exit__ - raise dj_exc_value.with_traceback(traceback) from exc_value - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\utils.py", line 105, in _execute - return self.cursor.execute(sql, params) - ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\mysql\base.py", line 78, in execute - return self.cursor.execute(query, args) - ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\MySQLdb\cursors.py", line 179, in execute - res = self._query(mogrified_query) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\MySQLdb\cursors.py", line 330, in _query - db.query(q) - ~~~~~~~~^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\MySQLdb\connections.py", line 280, in query - _mysql.connection.query(self, query) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ -django.db.utils.OperationalError: (1054, "Unknown column 'project_testdemandcontent.subDescription' in 'field list'") -[ERROR][2025-12-15 09:57:02,696][log.py:249]Internal Server Error: /api/project/getTestDemandList -[WARNING][2025-12-15 09:57:03,692][operation.py:131]"GET - TestDemandController[get_test_demand_one] /api/project/getTestDemandOne" (1054, "Unknown column 'project_testdemandcontent.subDescription' in 'field list'") -[ERROR][2025-12-15 09:57:03,692][errors.py:131](1054, "Unknown column 'project_testdemandcontent.subDescription' in 'field list'") -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\utils.py", line 105, in _execute - return self.cursor.execute(sql, params) - ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\mysql\base.py", line 78, in execute - return self.cursor.execute(query, args) - ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\MySQLdb\cursors.py", line 179, in execute - res = self._query(mogrified_query) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\MySQLdb\cursors.py", line 330, in _query - db.query(q) - ~~~~~~~~^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\MySQLdb\connections.py", line 280, in query - _mysql.connection.query(self, query) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ -MySQLdb.OperationalError: (1054, "Unknown column 'project_testdemandcontent.subDescription' in 'field list'") - -The above exception was the direct cause of the following exception: - -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 99, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\python13\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\testDemand.py", line 77, in get_test_demand_one - for step_obj in demand_qs.testQField.all(): - ~~~~~~~~~~~~~~~~~~~~~~~~^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 390, in __iter__ - self._fetch_all() - ~~~~~~~~~~~~~~~^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 2000, in _fetch_all - self._result_cache = list(self._iterable_class(self)) - ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 95, in __iter__ - results = compiler.execute_sql( - chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\sql\compiler.py", line 1624, in execute_sql - cursor.execute(sql, params) - ~~~~~~~~~~~~~~^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\utils.py", line 122, in execute - return super().execute(sql, params) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\utils.py", line 79, in execute - return self._execute_with_wrappers( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - sql, params, many=False, executor=self._execute - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\utils.py", line 92, in _execute_with_wrappers - return executor(sql, params, many, context) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\utils.py", line 100, in _execute - with self.db.wrap_database_errors: - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\utils.py", line 94, in __exit__ - raise dj_exc_value.with_traceback(traceback) from exc_value - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\utils.py", line 105, in _execute - return self.cursor.execute(sql, params) - ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\mysql\base.py", line 78, in execute - return self.cursor.execute(query, args) - ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\MySQLdb\cursors.py", line 179, in execute - res = self._query(mogrified_query) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\MySQLdb\cursors.py", line 330, in _query - db.query(q) - ~~~~~~~~^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\MySQLdb\connections.py", line 280, in query - _mysql.connection.query(self, query) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ -django.db.utils.OperationalError: (1054, "Unknown column 'project_testdemandcontent.subDescription' in 'field list'") -[ERROR][2025-12-15 09:57:03,785][log.py:249]Internal Server Error: /api/project/getTestDemandOne -[WARNING][2025-12-15 15:17:50,036][operation.py:131]"GET - GenerateControllerDG[create_xqComparison] /api/generate/create/xqComparison" ("'<' not supported between instances of 'tuple' and 'float'",) -[ERROR][2025-12-15 15:17:50,037][errors.py:131]'<' not supported between instances of 'tuple' and 'float' -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 99, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 746, in create_xqComparison - print(sorted(design_list, key=chapter_key)) - ~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -TypeError: '<' not supported between instances of 'tuple' and 'float' -[ERROR][2025-12-15 15:17:50,041][log.py:249]Internal Server Error: /api/generate/create/xqComparison -[WARNING][2025-12-15 15:21:57,918][operation.py:131]"GET - GenerateControllerDG[create_xqComparison] /api/generate/create/xqComparison" ("'<' not supported between instances of 'tuple' and 'int'",) -[ERROR][2025-12-15 15:21:57,918][errors.py:131]'<' not supported between instances of 'tuple' and 'int' -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 99, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 746, in create_xqComparison - print(sorted(design_list, key=chapter_key)) - ~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -TypeError: '<' not supported between instances of 'tuple' and 'int' -[ERROR][2025-12-15 15:21:57,921][log.py:249]Internal Server Error: /api/generate/create/xqComparison -[WARNING][2025-12-15 15:54:44,559][operation.py:131]"GET - GenerateControllerDG[create_xqComparison] /api/generate/create/xqComparison" ("'<' not supported between instances of 'tuple' and 'int'",) -[ERROR][2025-12-15 15:54:44,560][errors.py:131]'<' not supported between instances of 'tuple' and 'int' -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 99, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 747, in create_xqComparison - design_list = sorted(design_list, key=chapter_key) -TypeError: '<' not supported between instances of 'tuple' and 'int' -[ERROR][2025-12-15 15:54:44,626][log.py:249]Internal Server Error: /api/generate/create/xqComparison -[WARNING][2025-12-15 15:55:42,690][operation.py:131]"GET - GenerateControllerDG[create_xqComparison] /api/generate/create/xqComparison" ('can only concatenate tuple (not "int") to tuple',) -[ERROR][2025-12-15 15:55:42,690][errors.py:131]can only concatenate tuple (not "int") to tuple -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 99, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 747, in create_xqComparison - design_list = sorted(design_list, key=chapter_key) - File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 842, in chapter_key - big_num += 1 -TypeError: can only concatenate tuple (not "int") to tuple -[ERROR][2025-12-15 15:55:42,696][log.py:249]Internal Server Error: /api/generate/create/xqComparison -[WARNING][2025-12-15 15:56:03,422][operation.py:131]"GET - GenerateControllerDG[create_xqComparison] /api/generate/create/xqComparison" ('can only concatenate tuple (not "int") to tuple',) -[ERROR][2025-12-15 15:56:03,422][errors.py:131]can only concatenate tuple (not "int") to tuple -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 99, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 747, in create_xqComparison - design_list = sorted(design_list, key=chapter_key) - File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 842, in chapter_key - big_num += 1 -TypeError: can only concatenate tuple (not "int") to tuple -[ERROR][2025-12-15 15:56:03,427][log.py:249]Internal Server Error: /api/generate/create/xqComparison -[WARNING][2025-12-15 15:59:24,732][operation.py:131]"GET - GenerateControllerDG[create_xqComparison] /api/generate/create/xqComparison" ("'<' not supported between instances of 'tuple' and 'int'",) -[ERROR][2025-12-15 15:59:24,738][errors.py:131]'<' not supported between instances of 'tuple' and 'int' -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 99, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 747, in create_xqComparison - design_list = sorted(design_list, key=chapter_key) -TypeError: '<' not supported between instances of 'tuple' and 'int' -[ERROR][2025-12-15 15:59:24,744][log.py:249]Internal Server Error: /api/generate/create/xqComparison -[WARNING][2025-12-15 16:02:18,376][operation.py:131]"GET - GenerateControllerDG[create_xqComparison] /api/generate/create/xqComparison" ("'<' not supported between instances of 'list' and 'int'",) -[ERROR][2025-12-15 16:02:18,379][errors.py:131]'<' not supported between instances of 'list' and 'int' -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 99, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 747, in create_xqComparison - design_list = sorted(design_list, key=chapter_key) -TypeError: '<' not supported between instances of 'list' and 'int' -[ERROR][2025-12-15 16:02:18,384][log.py:249]Internal Server Error: /api/generate/create/xqComparison -[WARNING][2025-12-15 16:04:13,121][operation.py:131]"GET - GenerateControllerDG[create_xqComparison] /api/generate/create/xqComparison" ("'<' not supported between instances of 'str' and 'int'",) -[ERROR][2025-12-15 16:04:13,121][errors.py:131]'<' not supported between instances of 'str' and 'int' -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 99, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 747, in create_xqComparison - design_list = sorted(design_list, key=chapter_key) -TypeError: '<' not supported between instances of 'str' and 'int' -[ERROR][2025-12-15 16:04:13,127][log.py:249]Internal Server Error: /api/generate/create/xqComparison -[WARNING][2025-12-16 09:45:10,579][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-12-16 10:39:22,476][operation.py:131]"GET - ProjectController[document_time_show] /api/testmanage/project/document_time_show" (500, '项目结束时间早于最后一轮次结束时间或等于开始时间,请修改项目结束时间') -[ERROR][2025-12-16 10:39:22,481][log.py:249]Internal Server Error: /api/testmanage/project/document_time_show -[WARNING][2025-12-16 10:39:38,412][operation.py:131]"GET - ProjectController[document_time_show] /api/testmanage/project/document_time_show" (500, '项目结束时间早于最后一轮次结束时间或等于开始时间,请修改项目结束时间') -[ERROR][2025-12-16 10:39:38,420][log.py:249]Internal Server Error: /api/testmanage/project/document_time_show -[WARNING][2025-12-17 09:16:51,222][log.py:249]Unauthorized: /api/system/getInfo -[WARNING][2025-12-17 09:16:51,240][log.py:249]Unauthorized: /api/system/logout -[WARNING][2025-12-17 09:17:00,834][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-12-17 13:17:55,763][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-12-17 13:48:07,048][operation.py:131]"POST - DesignController[multi_create_design] /api/project/designDemand/multi_save" ([{'type': 'missing', 'loc': ('body', 'payload', 'projectId'), 'msg': 'Field required'}, {'type': 'missing', 'loc': ('body', 'payload', 'key'), 'msg': 'Field required'}],) -[WARNING][2025-12-17 13:48:07,059][log.py:249]Unprocessable Content: /api/project/designDemand/multi_save -[WARNING][2025-12-17 13:58:05,302][operation.py:131]"GET - DesignController[get_design_tree] /api/project/getDesignDemandInfo" () -[ERROR][2025-12-17 13:58:05,303][errors.py:131]1 validation error for NinjaResponseSchema -response.24.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run - _processed_results = self._result_to_response( - request, result, ctx.response - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\operation.py", line 280, in _result_to_response - validated_object = response_model.model_validate( - resp_object, context={"request": request, "response_status": status} - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\pydantic\main.py", line 716, in model_validate - return cls.__pydantic_validator__.validate_python( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - obj, - ^^^^ - ...<5 lines>... - by_name=by_name, - ^^^^^^^^^^^^^^^^ - ) - ^ -pydantic_core._pydantic_core.ValidationError: 1 validation error for NinjaResponseSchema -response.24.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -[ERROR][2025-12-17 13:58:05,307][log.py:249]Internal Server Error: /api/project/getDesignDemandInfo -[WARNING][2025-12-17 14:01:35,405][operation.py:131]"GET - DesignController[get_design_tree] /api/project/getDesignDemandInfo" () -[ERROR][2025-12-17 14:01:35,405][errors.py:131]1 validation error for NinjaResponseSchema -response.24.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run - _processed_results = self._result_to_response( - request, result, ctx.response - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\operation.py", line 280, in _result_to_response - validated_object = response_model.model_validate( - resp_object, context={"request": request, "response_status": status} - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\pydantic\main.py", line 716, in model_validate - return cls.__pydantic_validator__.validate_python( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - obj, - ^^^^ - ...<5 lines>... - by_name=by_name, - ^^^^^^^^^^^^^^^^ - ) - ^ -pydantic_core._pydantic_core.ValidationError: 1 validation error for NinjaResponseSchema -response.24.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -[ERROR][2025-12-17 14:01:35,406][log.py:249]Internal Server Error: /api/project/getDesignDemandInfo -[WARNING][2025-12-17 14:03:00,327][operation.py:131]"GET - DesignController[get_design_tree] /api/project/getDesignDemandInfo" () -[ERROR][2025-12-17 14:03:00,327][errors.py:131]2 validation errors for NinjaResponseSchema -response.24.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -response.25.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run - _processed_results = self._result_to_response( - request, result, ctx.response - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\operation.py", line 280, in _result_to_response - validated_object = response_model.model_validate( - resp_object, context={"request": request, "response_status": status} - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\pydantic\main.py", line 716, in model_validate - return cls.__pydantic_validator__.validate_python( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - obj, - ^^^^ - ...<5 lines>... - by_name=by_name, - ^^^^^^^^^^^^^^^^ - ) - ^ -pydantic_core._pydantic_core.ValidationError: 2 validation errors for NinjaResponseSchema -response.24.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -response.25.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -[ERROR][2025-12-17 14:03:00,327][log.py:249]Internal Server Error: /api/project/getDesignDemandInfo -[WARNING][2025-12-17 14:07:29,691][operation.py:131]"POST - DesignController[multi_create_design] /api/project/designDemand/multi_save" (1048, "Column 'chapter' cannot be null") -[ERROR][2025-12-17 14:07:29,691][errors.py:131](1048, "Column 'chapter' cannot be null") -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\utils.py", line 105, in _execute - return self.cursor.execute(sql, params) - ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\mysql\base.py", line 78, in execute - return self.cursor.execute(query, args) - ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\MySQLdb\cursors.py", line 179, in execute - res = self._query(mogrified_query) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\MySQLdb\cursors.py", line 330, in _query - db.query(q) - ~~~~~~~~^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\MySQLdb\connections.py", line 280, in query - _mysql.connection.query(self, query) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ -MySQLdb.IntegrityError: (1048, "Column 'chapter' cannot be null") - -The above exception was the direct cause of the following exception: - -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 99, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\python13\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 121, in multi_create_design - Design.objects.bulk_create(bulk_list) - ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\manager.py", line 87, in manager_method - return getattr(self.get_queryset(), name)(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 833, in bulk_create - returned_columns = self._batched_insert( - objs_without_pk, - ...<4 lines>... - unique_fields=unique_fields, - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 1956, in _batched_insert - self._insert( - ~~~~~~~~~~~~^ - item, - ^^^^^ - ...<5 lines>... - returning_fields=returning_fields, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 1918, in _insert - return query.get_compiler(using=using).execute_sql(returning_fields) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\sql\compiler.py", line 1925, in execute_sql - cursor.execute(sql, params) - ~~~~~~~~~~~~~~^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\utils.py", line 122, in execute - return super().execute(sql, params) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\utils.py", line 79, in execute - return self._execute_with_wrappers( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - sql, params, many=False, executor=self._execute - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\utils.py", line 92, in _execute_with_wrappers - return executor(sql, params, many, context) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\utils.py", line 100, in _execute - with self.db.wrap_database_errors: - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\utils.py", line 94, in __exit__ - raise dj_exc_value.with_traceback(traceback) from exc_value - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\utils.py", line 105, in _execute - return self.cursor.execute(sql, params) - ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\mysql\base.py", line 78, in execute - return self.cursor.execute(query, args) - ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\MySQLdb\cursors.py", line 179, in execute - res = self._query(mogrified_query) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\MySQLdb\cursors.py", line 330, in _query - db.query(q) - ~~~~~~~~^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\MySQLdb\connections.py", line 280, in query - _mysql.connection.query(self, query) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ -django.db.utils.IntegrityError: (1048, "Column 'chapter' cannot be null") -[ERROR][2025-12-17 14:07:29,713][log.py:249]Internal Server Error: /api/project/designDemand/multi_save -[WARNING][2025-12-17 14:07:35,712][operation.py:131]"POST - DesignController[multi_create_design] /api/project/designDemand/multi_save" (1048, "Column 'chapter' cannot be null") -[ERROR][2025-12-17 14:07:35,712][errors.py:131](1048, "Column 'chapter' cannot be null") -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\utils.py", line 105, in _execute - return self.cursor.execute(sql, params) - ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\mysql\base.py", line 78, in execute - return self.cursor.execute(query, args) - ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\MySQLdb\cursors.py", line 179, in execute - res = self._query(mogrified_query) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\MySQLdb\cursors.py", line 330, in _query - db.query(q) - ~~~~~~~~^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\MySQLdb\connections.py", line 280, in query - _mysql.connection.query(self, query) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ -MySQLdb.IntegrityError: (1048, "Column 'chapter' cannot be null") - -The above exception was the direct cause of the following exception: - -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 99, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\python13\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 121, in multi_create_design - Design.objects.bulk_create(bulk_list) - ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\manager.py", line 87, in manager_method - return getattr(self.get_queryset(), name)(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 833, in bulk_create - returned_columns = self._batched_insert( - objs_without_pk, - ...<4 lines>... - unique_fields=unique_fields, - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 1956, in _batched_insert - self._insert( - ~~~~~~~~~~~~^ - item, - ^^^^^ - ...<5 lines>... - returning_fields=returning_fields, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 1918, in _insert - return query.get_compiler(using=using).execute_sql(returning_fields) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\sql\compiler.py", line 1925, in execute_sql - cursor.execute(sql, params) - ~~~~~~~~~~~~~~^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\utils.py", line 122, in execute - return super().execute(sql, params) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\utils.py", line 79, in execute - return self._execute_with_wrappers( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - sql, params, many=False, executor=self._execute - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\utils.py", line 92, in _execute_with_wrappers - return executor(sql, params, many, context) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\utils.py", line 100, in _execute - with self.db.wrap_database_errors: - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\utils.py", line 94, in __exit__ - raise dj_exc_value.with_traceback(traceback) from exc_value - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\utils.py", line 105, in _execute - return self.cursor.execute(sql, params) - ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\mysql\base.py", line 78, in execute - return self.cursor.execute(query, args) - ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\MySQLdb\cursors.py", line 179, in execute - res = self._query(mogrified_query) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\MySQLdb\cursors.py", line 330, in _query - db.query(q) - ~~~~~~~~^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\MySQLdb\connections.py", line 280, in query - _mysql.connection.query(self, query) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ -django.db.utils.IntegrityError: (1048, "Column 'chapter' cannot be null") -[ERROR][2025-12-17 14:07:35,723][log.py:249]Internal Server Error: /api/project/designDemand/multi_save -[WARNING][2025-12-17 14:08:02,886][operation.py:131]"GET - DesignController[get_design_tree] /api/project/getDesignDemandInfo" () -[ERROR][2025-12-17 14:08:02,887][errors.py:131]2 validation errors for NinjaResponseSchema -response.24.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -response.25.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run - _processed_results = self._result_to_response( - request, result, ctx.response - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\operation.py", line 280, in _result_to_response - validated_object = response_model.model_validate( - resp_object, context={"request": request, "response_status": status} - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\pydantic\main.py", line 716, in model_validate - return cls.__pydantic_validator__.validate_python( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - obj, - ^^^^ - ...<5 lines>... - by_name=by_name, - ^^^^^^^^^^^^^^^^ - ) - ^ -pydantic_core._pydantic_core.ValidationError: 2 validation errors for NinjaResponseSchema -response.24.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -response.25.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -[ERROR][2025-12-17 14:08:02,888][log.py:249]Internal Server Error: /api/project/getDesignDemandInfo -[WARNING][2025-12-17 14:08:21,974][operation.py:131]"GET - DesignController[get_design_tree] /api/project/getDesignDemandInfo" () -[ERROR][2025-12-17 14:08:21,974][errors.py:131]2 validation errors for NinjaResponseSchema -response.24.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -response.25.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run - _processed_results = self._result_to_response( - request, result, ctx.response - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\operation.py", line 280, in _result_to_response - validated_object = response_model.model_validate( - resp_object, context={"request": request, "response_status": status} - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\pydantic\main.py", line 716, in model_validate - return cls.__pydantic_validator__.validate_python( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - obj, - ^^^^ - ...<5 lines>... - by_name=by_name, - ^^^^^^^^^^^^^^^^ - ) - ^ -pydantic_core._pydantic_core.ValidationError: 2 validation errors for NinjaResponseSchema -response.24.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -response.25.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -[ERROR][2025-12-17 14:08:21,976][log.py:249]Internal Server Error: /api/project/getDesignDemandInfo -[WARNING][2025-12-18 09:04:40,200][log.py:249]Unauthorized: /api/system/getInfo -[WARNING][2025-12-18 09:04:40,243][log.py:249]Unauthorized: /api/system/logout -[WARNING][2025-12-18 09:04:52,816][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-12-18 15:36:58,848][operation.py:131]"POST - TestDemandController[create_multi_test_demand] /api/project/testDemand/multi_save" ([{'type': 'list_type', 'loc': ('body', 'payload', 'demands', 0, 'testContent'), 'msg': 'Input should be a valid list'}],) -[WARNING][2025-12-18 15:36:58,856][log.py:249]Unprocessable Content: /api/project/testDemand/multi_save -[WARNING][2025-12-18 17:18:11,818][operation.py:131]"POST - TestDemandController[create_multi_test_demand] /api/project/testDemand/multi_save" ("'ChenResponse' object has no attribute 'message'",) -[ERROR][2025-12-18 17:18:11,818][errors.py:131]'ChenResponse' object has no attribute 'message' -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 99, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\python13\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\testDemand.py", line 176, in create_multi_test_demand - print(create_demands.message) - ^^^^^^^^^^^^^^^^^^^^^^ -AttributeError: 'ChenResponse' object has no attribute 'message' -[ERROR][2025-12-18 17:18:11,823][log.py:249]Internal Server Error: /api/project/testDemand/multi_save -[WARNING][2025-12-19 09:27:18,974][log.py:249]Unauthorized: /api/system/getInfo -[WARNING][2025-12-19 09:27:19,003][log.py:249]Unauthorized: /api/system/logout -[WARNING][2025-12-19 09:27:23,808][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-12-19 11:18:04,195][log.py:249]Not Found: /api/project/getRelatedTestDemand -[WARNING][2025-12-19 11:19:38,080][log.py:249]Not Found: /api/project/getRelatedTestDemand -[WARNING][2025-12-19 11:19:42,169][log.py:249]Not Found: /api/project/getRelatedTestDemand -[WARNING][2025-12-19 14:25:44,668][log.py:249]Not Found: /api/project/case/multi_save -[WARNING][2025-12-19 14:26:17,046][operation.py:131]"POST - CaseController[multi_case_save] /api/project/case/multi_save" ([{'type': 'missing', 'loc': ('body', 'payload', 'cases', 0, 'test_step'), 'msg': 'Field required'}],) -[WARNING][2025-12-19 14:26:17,055][log.py:249]Unprocessable Content: /api/project/case/multi_save -[WARNING][2025-12-19 14:26:19,771][operation.py:131]"POST - CaseController[multi_case_save] /api/project/case/multi_save" ([{'type': 'missing', 'loc': ('body', 'payload', 'cases', 0, 'test_step'), 'msg': 'Field required'}],) -[WARNING][2025-12-19 14:26:19,781][log.py:249]Unprocessable Content: /api/project/case/multi_save -[WARNING][2025-12-19 15:36:39,268][operation.py:131]"GET - CaseController[get_case_tree] /api/project/getCaseInfo" () -[ERROR][2025-12-19 15:36:39,268][errors.py:131]2 validation errors for NinjaResponseSchema -response.0.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -response.1.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run - _processed_results = self._result_to_response( - request, result, ctx.response - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\operation.py", line 280, in _result_to_response - validated_object = response_model.model_validate( - resp_object, context={"request": request, "response_status": status} - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\pydantic\main.py", line 716, in model_validate - return cls.__pydantic_validator__.validate_python( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - obj, - ^^^^ - ...<5 lines>... - by_name=by_name, - ^^^^^^^^^^^^^^^^ - ) - ^ -pydantic_core._pydantic_core.ValidationError: 2 validation errors for NinjaResponseSchema -response.0.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -response.1.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -[ERROR][2025-12-19 15:36:39,275][log.py:249]Internal Server Error: /api/project/getCaseInfo -[WARNING][2025-12-19 15:37:25,844][operation.py:131]"GET - CaseController[get_case_tree] /api/project/getCaseInfo" () -[ERROR][2025-12-19 15:37:25,844][errors.py:131]2 validation errors for NinjaResponseSchema -response.0.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -response.1.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run - _processed_results = self._result_to_response( - request, result, ctx.response - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\operation.py", line 280, in _result_to_response - validated_object = response_model.model_validate( - resp_object, context={"request": request, "response_status": status} - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\pydantic\main.py", line 716, in model_validate - return cls.__pydantic_validator__.validate_python( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - obj, - ^^^^ - ...<5 lines>... - by_name=by_name, - ^^^^^^^^^^^^^^^^ - ) - ^ -pydantic_core._pydantic_core.ValidationError: 2 validation errors for NinjaResponseSchema -response.0.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -response.1.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -[ERROR][2025-12-19 15:37:25,846][log.py:249]Internal Server Error: /api/project/getCaseInfo -[WARNING][2025-12-19 15:37:26,553][operation.py:131]"GET - CaseController[get_case_tree] /api/project/getCaseInfo" () -[ERROR][2025-12-19 15:37:26,553][errors.py:131]2 validation errors for NinjaResponseSchema -response.0.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -response.1.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run - _processed_results = self._result_to_response( - request, result, ctx.response - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\operation.py", line 280, in _result_to_response - validated_object = response_model.model_validate( - resp_object, context={"request": request, "response_status": status} - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\pydantic\main.py", line 716, in model_validate - return cls.__pydantic_validator__.validate_python( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - obj, - ^^^^ - ...<5 lines>... - by_name=by_name, - ^^^^^^^^^^^^^^^^ - ) - ^ -pydantic_core._pydantic_core.ValidationError: 2 validation errors for NinjaResponseSchema -response.0.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -response.1.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -[ERROR][2025-12-19 15:37:26,555][log.py:249]Internal Server Error: /api/project/getCaseInfo -[WARNING][2025-12-19 15:37:28,948][operation.py:131]"GET - CaseController[get_case_tree] /api/project/getCaseInfo" () -[ERROR][2025-12-19 15:37:28,948][errors.py:131]2 validation errors for NinjaResponseSchema -response.0.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -response.1.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run - _processed_results = self._result_to_response( - request, result, ctx.response - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\operation.py", line 280, in _result_to_response - validated_object = response_model.model_validate( - resp_object, context={"request": request, "response_status": status} - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\pydantic\main.py", line 716, in model_validate - return cls.__pydantic_validator__.validate_python( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - obj, - ^^^^ - ...<5 lines>... - by_name=by_name, - ^^^^^^^^^^^^^^^^ - ) - ^ -pydantic_core._pydantic_core.ValidationError: 2 validation errors for NinjaResponseSchema -response.0.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -response.1.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -[ERROR][2025-12-19 15:37:28,949][log.py:249]Internal Server Error: /api/project/getCaseInfo -[WARNING][2025-12-19 15:44:55,327][operation.py:131]"GET - CaseController[get_case_tree] /api/project/getCaseInfo" () -[ERROR][2025-12-19 15:44:55,327][errors.py:131]1 validation error for NinjaResponseSchema -response.0.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run - _processed_results = self._result_to_response( - request, result, ctx.response - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\operation.py", line 280, in _result_to_response - validated_object = response_model.model_validate( - resp_object, context={"request": request, "response_status": status} - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\pydantic\main.py", line 716, in model_validate - return cls.__pydantic_validator__.validate_python( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - obj, - ^^^^ - ...<5 lines>... - by_name=by_name, - ^^^^^^^^^^^^^^^^ - ) - ^ -pydantic_core._pydantic_core.ValidationError: 1 validation error for NinjaResponseSchema -response.0.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -[ERROR][2025-12-19 15:44:55,329][log.py:249]Internal Server Error: /api/project/getCaseInfo -[WARNING][2025-12-19 15:45:56,389][operation.py:131]"GET - CaseController[get_case_tree] /api/project/getCaseInfo" () -[ERROR][2025-12-19 15:45:56,389][errors.py:131]1 validation error for NinjaResponseSchema -response.0.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run - _processed_results = self._result_to_response( - request, result, ctx.response - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\operation.py", line 280, in _result_to_response - validated_object = response_model.model_validate( - resp_object, context={"request": request, "response_status": status} - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\pydantic\main.py", line 716, in model_validate - return cls.__pydantic_validator__.validate_python( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - obj, - ^^^^ - ...<5 lines>... - by_name=by_name, - ^^^^^^^^^^^^^^^^ - ) - ^ -pydantic_core._pydantic_core.ValidationError: 1 validation error for NinjaResponseSchema -response.0.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -[ERROR][2025-12-19 15:45:56,391][log.py:249]Internal Server Error: /api/project/getCaseInfo -[WARNING][2025-12-19 15:45:57,948][operation.py:131]"GET - CaseController[get_case_tree] /api/project/getCaseInfo" () -[ERROR][2025-12-19 15:45:57,948][errors.py:131]1 validation error for NinjaResponseSchema -response.0.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run - _processed_results = self._result_to_response( - request, result, ctx.response - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\operation.py", line 280, in _result_to_response - validated_object = response_model.model_validate( - resp_object, context={"request": request, "response_status": status} - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\pydantic\main.py", line 716, in model_validate - return cls.__pydantic_validator__.validate_python( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - obj, - ^^^^ - ...<5 lines>... - by_name=by_name, - ^^^^^^^^^^^^^^^^ - ) - ^ -pydantic_core._pydantic_core.ValidationError: 1 validation error for NinjaResponseSchema -response.0.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -[ERROR][2025-12-19 15:45:57,950][log.py:249]Internal Server Error: /api/project/getCaseInfo -[ERROR][2025-12-19 15:46:29,253][log.py:249]Internal Server Error: /api/project/case/create_by_demand -[WARNING][2025-12-19 15:47:41,071][operation.py:131]"GET - CaseController[get_case_tree] /api/project/getCaseInfo" () -[ERROR][2025-12-19 15:47:41,071][errors.py:131]1 validation error for NinjaResponseSchema -response.0.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run - _processed_results = self._result_to_response( - request, result, ctx.response - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\operation.py", line 280, in _result_to_response - validated_object = response_model.model_validate( - resp_object, context={"request": request, "response_status": status} - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\pydantic\main.py", line 716, in model_validate - return cls.__pydantic_validator__.validate_python( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - obj, - ^^^^ - ...<5 lines>... - by_name=by_name, - ^^^^^^^^^^^^^^^^ - ) - ^ -pydantic_core._pydantic_core.ValidationError: 1 validation error for NinjaResponseSchema -response.0.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -[ERROR][2025-12-19 15:47:41,073][log.py:249]Internal Server Error: /api/project/getCaseInfo -[WARNING][2025-12-19 15:47:50,358][operation.py:131]"GET - CaseController[get_case_tree] /api/project/getCaseInfo" () -[ERROR][2025-12-19 15:47:50,358][errors.py:131]1 validation error for NinjaResponseSchema -response.0.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run - _processed_results = self._result_to_response( - request, result, ctx.response - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\operation.py", line 280, in _result_to_response - validated_object = response_model.model_validate( - resp_object, context={"request": request, "response_status": status} - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\pydantic\main.py", line 716, in model_validate - return cls.__pydantic_validator__.validate_python( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - obj, - ^^^^ - ...<5 lines>... - by_name=by_name, - ^^^^^^^^^^^^^^^^ - ) - ^ -pydantic_core._pydantic_core.ValidationError: 1 validation error for NinjaResponseSchema -response.0.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -[ERROR][2025-12-19 15:47:50,359][log.py:249]Internal Server Error: /api/project/getCaseInfo -[WARNING][2025-12-19 15:48:19,534][operation.py:131]"GET - CaseController[get_case_tree] /api/project/getCaseInfo" () -[ERROR][2025-12-19 15:48:19,534][errors.py:131]1 validation error for NinjaResponseSchema -response.0.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run - _processed_results = self._result_to_response( - request, result, ctx.response - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\operation.py", line 280, in _result_to_response - validated_object = response_model.model_validate( - resp_object, context={"request": request, "response_status": status} - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\pydantic\main.py", line 716, in model_validate - return cls.__pydantic_validator__.validate_python( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - obj, - ^^^^ - ...<5 lines>... - by_name=by_name, - ^^^^^^^^^^^^^^^^ - ) - ^ -pydantic_core._pydantic_core.ValidationError: 1 validation error for NinjaResponseSchema -response.0.title - Input should be a valid string [type=string_type, input_value=None, input_type=NoneType] - For further information visit https://errors.pydantic.dev/2.12/v/string_type -[ERROR][2025-12-19 15:48:19,536][log.py:249]Internal Server Error: /api/project/getCaseInfo -[WARNING][2025-12-19 15:53:11,960][log.py:249]Unauthorized: /api/system/getInfo -[WARNING][2025-12-19 15:53:12,023][log.py:249]Unauthorized: /api/system/logout -[WARNING][2025-12-19 15:53:16,809][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-12-22 09:12:02,397][log.py:249]Unauthorized: /api/system/getInfo -[WARNING][2025-12-22 09:12:02,620][log.py:249]Unauthorized: /api/system/logout -[WARNING][2025-12-22 09:12:41,059][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-12-22 09:18:31,339][operation.py:131]"POST - CaseController[bulk_replace_time] /api/project/case/timeReplace/" ([{'type': 'string_type', 'loc': ('body', 'payload', 'exetime'), 'msg': 'Input should be a valid string'}],) -[WARNING][2025-12-22 09:18:31,348][log.py:249]Unprocessable Content: /api/project/case/timeReplace/ -[WARNING][2025-12-22 09:19:30,015][operation.py:131]"POST - CaseController[bulk_replace_time] /api/project/case/timeReplace/" ([{'type': 'string_type', 'loc': ('body', 'payload', 'exetime'), 'msg': 'Input should be a valid string'}],) -[WARNING][2025-12-22 09:19:30,026][log.py:249]Unprocessable Content: /api/project/case/timeReplace/ -[WARNING][2025-12-22 09:19:42,128][operation.py:131]"POST - CaseController[bulk_replace_time] /api/project/case/timeReplace/" ([{'type': 'string_type', 'loc': ('body', 'payload', 'exetime'), 'msg': 'Input should be a valid string'}],) -[WARNING][2025-12-22 09:19:42,138][log.py:249]Unprocessable Content: /api/project/case/timeReplace/ -[WARNING][2025-12-22 09:19:47,040][operation.py:131]"POST - CaseController[bulk_replace_time] /api/project/case/timeReplace/" ([{'type': 'string_type', 'loc': ('body', 'payload', 'exetime'), 'msg': 'Input should be a valid string'}],) -[WARNING][2025-12-22 09:19:47,048][log.py:249]Unprocessable Content: /api/project/case/timeReplace/ -[WARNING][2025-12-22 09:20:16,492][operation.py:131]"POST - CaseController[bulk_replace_time] /api/project/case/timeReplace/" ([{'type': 'string_type', 'loc': ('body', 'payload', 'exetime'), 'msg': 'Input should be a valid string'}],) -[WARNING][2025-12-22 09:20:16,501][log.py:249]Unprocessable Content: /api/project/case/timeReplace/ -[WARNING][2025-12-22 09:32:38,897][operation.py:131]"POST - CaseController[bulk_replace_time] /api/project/case/timeReplace/" ('fromisoformat: argument must be str',) -[ERROR][2025-12-22 09:32:38,897][errors.py:131]fromisoformat: argument must be str +[WARNING][2026-02-05 13:29:09,957][operation.py:131]"GET - GenerateControllerDG[create_static_soft] /api/generate/create/static_soft" ("no style with name 'Table Grid'",) +[ERROR][2026-02-05 13:29:09,966][errors.py:131]"no style with name 'Table Grid'" Traceback (most recent call last): File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) @@ -1568,40 +7,28 @@ Traceback (most recent call last): result = self.route.view_func( ctx.controller_instance, *args, **ctx.view_func_kwargs ) - File "D:\python13\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\case.py", line 379, in bulk_replace_time - case_qs.update(exe_time=payload.exetime) - ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 1300, in update - rows = query.get_compiler(self.db).execute_sql(ROW_COUNT) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\sql\compiler.py", line 2111, in execute_sql - row_count = super().execute_sql(result_type) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\sql\compiler.py", line 1611, in execute_sql - sql, params = self.as_sql() - ~~~~~~~~~~~^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\mysql\compiler.py", line 49, in as_sql - update_query, update_params = super().as_sql() - ~~~~~~~~~~~~~~^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\sql\compiler.py", line 2065, in as_sql - val = field.get_db_prep_save(val, connection=self.connection) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\fields\__init__.py", line 1011, in get_db_prep_save - return self.get_db_prep_value(value, connection=connection, prepared=False) - ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\fields\__init__.py", line 1541, in get_db_prep_value - value = self.get_prep_value(value) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\fields\__init__.py", line 1536, in get_prep_value - return self.to_python(value) - ~~~~~~~~~~~~~~^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\fields\__init__.py", line 1492, in to_python - parsed = parse_date(value) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\utils\dateparse.py", line 74, in parse_date - return datetime.date.fromisoformat(value) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^ -TypeError: fromisoformat: argument must be str -[ERROR][2025-12-22 09:32:38,922][log.py:249]Internal Server Error: /api/project/case/timeReplace/ -[WARNING][2025-12-22 09:46:58,701][operation.py:131]"POST - CaseController[bulk_replace_time] /api/project/case/timeReplace/" ('fromisoformat: argument must be str',) -[ERROR][2025-12-22 09:46:58,701][errors.py:131]fromisoformat: argument must be str + File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 469, in create_static_soft + table = subdoc.add_table(rows=rows, cols=cols, style='Table Grid') + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\document.py", line 157, in add_table + table.style = style + ^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\table.py", line 137, in style + style_id = self.part.get_style_id(style_or_name, WD_STYLE_TYPE.TABLE) + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\parts\document.py", line 87, in get_style_id + return self.styles.get_style_id(style_or_name, style_type) + ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\styles\styles.py", line 98, in get_style_id + return self._get_style_id_from_name(style_or_name, style_type) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\styles\styles.py", line 125, in _get_style_id_from_name + return self._get_style_id_from_style(self[style_name], style_type) + ~~~~^^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\styles\styles.py", line 47, in __getitem__ + raise KeyError("no style with name '%s'" % key) +KeyError: "no style with name 'Table Grid'" +[ERROR][2026-02-05 13:29:10,011][log.py:249]Internal Server Error: /api/generate/create/static_soft +[WARNING][2026-02-05 13:29:57,869][operation.py:131]"GET - GenerateControllerDG[create_static_soft] /api/generate/create/static_soft" ('list index out of range',) +[ERROR][2026-02-05 13:29:57,869][errors.py:131]list index out of range Traceback (most recent call last): File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) @@ -1609,40 +36,13 @@ Traceback (most recent call last): result = self.route.view_func( ctx.controller_instance, *args, **ctx.view_func_kwargs ) - File "D:\python13\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\case.py", line 379, in bulk_replace_time - case_qs.update(exe_time=payload.exetime) - ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 1300, in update - rows = query.get_compiler(self.db).execute_sql(ROW_COUNT) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\sql\compiler.py", line 2111, in execute_sql - row_count = super().execute_sql(result_type) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\sql\compiler.py", line 1611, in execute_sql - sql, params = self.as_sql() - ~~~~~~~~~~~^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\backends\mysql\compiler.py", line 49, in as_sql - update_query, update_params = super().as_sql() - ~~~~~~~~~~~~~~^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\sql\compiler.py", line 2065, in as_sql - val = field.get_db_prep_save(val, connection=self.connection) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\fields\__init__.py", line 1011, in get_db_prep_save - return self.get_db_prep_value(value, connection=connection, prepared=False) - ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\fields\__init__.py", line 1541, in get_db_prep_value - value = self.get_prep_value(value) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\fields\__init__.py", line 1536, in get_prep_value - return self.to_python(value) - ~~~~~~~~~~~~~~^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\fields\__init__.py", line 1492, in to_python - parsed = parse_date(value) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\utils\dateparse.py", line 74, in parse_date - return datetime.date.fromisoformat(value) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^ -TypeError: fromisoformat: argument must be str -[ERROR][2025-12-22 09:46:58,711][log.py:249]Internal Server Error: /api/project/case/timeReplace/ -[WARNING][2025-12-22 09:48:59,424][operation.py:131]"POST - CaseController[bulk_replace_time] /api/project/case/timeReplace/" ("Can't parse date string `2025-11-25`",) -[ERROR][2025-12-22 09:48:59,424][errors.py:131]Can't parse date string `2025-11-25` + File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 491, in create_static_soft + run = pa.add_run(str(table_data[row][col])) + ~~~~~~~~~~~~~~~^^^^^ +IndexError: list index out of range +[ERROR][2026-02-05 13:29:57,897][log.py:249]Internal Server Error: /api/generate/create/static_soft +[WARNING][2026-02-05 13:37:42,624][operation.py:131]"GET - GenerateControllerDG[create_static_soft] /api/generate/create/static_soft" ("no style with name 'Table Grid'",) +[ERROR][2026-02-05 13:37:42,624][errors.py:131]"no style with name 'Table Grid'" Traceback (most recent call last): File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) @@ -1650,28 +50,28 @@ Traceback (most recent call last): result = self.route.view_func( ctx.controller_instance, *args, **ctx.view_func_kwargs ) - File "D:\python13\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\case.py", line 380, in bulk_replace_time - print(faker.date_between_dates(date_start='2025-11-25',date_end='2025-12-25')) - ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\faker\providers\date_time\__init__.py", line 2241, in date_between_dates - return self.date_time_between_dates(date_start, date_end).date() - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\faker\providers\date_time\__init__.py", line 2205, in date_time_between_dates - else self._parse_date_time(datetime_start) - ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\faker\providers\date_time\__init__.py", line 2063, in _parse_date_time - time_params = cls._parse_date_string(value) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\faker\providers\date_time\__init__.py", line 2039, in _parse_date_string - raise ParseError(f"Can't parse date string `{value}`") -faker.providers.date_time.ParseError: Can't parse date string `2025-11-25` -[ERROR][2025-12-22 09:48:59,427][log.py:249]Internal Server Error: /api/project/case/timeReplace/ -[WARNING][2025-12-22 10:51:49,526][log.py:249]Not Found: /api/project/copy_current/ -[WARNING][2025-12-22 10:52:17,936][log.py:249]Not Found: /api/project/copy_current -[WARNING][2025-12-22 10:52:20,219][log.py:249]Not Found: /api/project/copy_current -[WARNING][2025-12-22 11:27:08,058][operation.py:131]"GET - DesignController[copy_current] /api/project/copy_current" ('sequence item 2: expected str instance, int found',) -[ERROR][2025-12-22 11:27:08,059][errors.py:131]sequence item 2: expected str instance, int found + File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 469, in create_static_soft + table = subdoc.add_table(rows=rows, cols=cols, style='Table Grid') + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\document.py", line 157, in add_table + table.style = style + ^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\table.py", line 137, in style + style_id = self.part.get_style_id(style_or_name, WD_STYLE_TYPE.TABLE) + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\parts\document.py", line 87, in get_style_id + return self.styles.get_style_id(style_or_name, style_type) + ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\styles\styles.py", line 98, in get_style_id + return self._get_style_id_from_name(style_or_name, style_type) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\styles\styles.py", line 125, in _get_style_id_from_name + return self._get_style_id_from_style(self[style_name], style_type) + ~~~~^^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\styles\styles.py", line 47, in __getitem__ + raise KeyError("no style with name '%s'" % key) +KeyError: "no style with name 'Table Grid'" +[ERROR][2026-02-05 13:37:42,690][log.py:249]Internal Server Error: /api/generate/create/static_soft +[WARNING][2026-02-05 13:39:00,989][operation.py:131]"GET - GenerateControllerDG[create_static_soft] /api/generate/create/static_soft" ("no style with name 'Grid'",) +[ERROR][2026-02-05 13:39:00,990][errors.py:131]"no style with name 'Grid'" Traceback (most recent call last): File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) @@ -1679,15 +79,28 @@ Traceback (most recent call last): result = self.route.view_func( ctx.controller_instance, *args, **ctx.view_func_kwargs ) - File "D:\python13\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 226, in copy_current - new_design_obj.key = "".join([dut_obj.key, "-", key_index]) - ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -TypeError: sequence item 2: expected str instance, int found -[ERROR][2025-12-22 11:27:08,061][log.py:249]Internal Server Error: /api/project/copy_current -[WARNING][2025-12-22 11:27:19,118][operation.py:131]"GET - DesignController[copy_current] /api/project/copy_current" ('sequence item 2: expected str instance, int found',) -[ERROR][2025-12-22 11:27:19,118][errors.py:131]sequence item 2: expected str instance, int found + File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 469, in create_static_soft + table = subdoc.add_table(rows=rows, cols=cols, style='Grid') + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\document.py", line 157, in add_table + table.style = style + ^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\table.py", line 137, in style + style_id = self.part.get_style_id(style_or_name, WD_STYLE_TYPE.TABLE) + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\parts\document.py", line 87, in get_style_id + return self.styles.get_style_id(style_or_name, style_type) + ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\styles\styles.py", line 98, in get_style_id + return self._get_style_id_from_name(style_or_name, style_type) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\styles\styles.py", line 125, in _get_style_id_from_name + return self._get_style_id_from_style(self[style_name], style_type) + ~~~~^^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\styles\styles.py", line 47, in __getitem__ + raise KeyError("no style with name '%s'" % key) +KeyError: "no style with name 'Grid'" +[ERROR][2026-02-05 13:39:01,006][log.py:249]Internal Server Error: /api/generate/create/static_soft +[WARNING][2026-02-05 13:39:23,558][operation.py:131]"GET - GenerateControllerDG[create_static_soft] /api/generate/create/static_soft" ("no style with name 'Default'",) +[ERROR][2026-02-05 13:39:23,558][errors.py:131]"no style with name 'Default'" Traceback (most recent call last): File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) @@ -1695,15 +108,28 @@ Traceback (most recent call last): result = self.route.view_func( ctx.controller_instance, *args, **ctx.view_func_kwargs ) - File "D:\python13\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 226, in copy_current - new_design_obj.key = "".join([dut_obj.key, "-", key_index]) - ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -TypeError: sequence item 2: expected str instance, int found -[ERROR][2025-12-22 11:27:19,120][log.py:249]Internal Server Error: /api/project/copy_current -[WARNING][2025-12-22 14:03:12,179][operation.py:131]"GET - ProblemController[get_problem_list] /api/project/getProblemList" ("'NoneType' object has no attribute 'caseField'",) -[ERROR][2025-12-22 14:03:12,180][errors.py:131]'NoneType' object has no attribute 'caseField' + File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 469, in create_static_soft + table = subdoc.add_table(rows=rows, cols=cols, style='Default') + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\document.py", line 157, in add_table + table.style = style + ^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\table.py", line 137, in style + style_id = self.part.get_style_id(style_or_name, WD_STYLE_TYPE.TABLE) + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\parts\document.py", line 87, in get_style_id + return self.styles.get_style_id(style_or_name, style_type) + ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\styles\styles.py", line 98, in get_style_id + return self._get_style_id_from_name(style_or_name, style_type) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\styles\styles.py", line 125, in _get_style_id_from_name + return self._get_style_id_from_style(self[style_name], style_type) + ~~~~^^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\styles\styles.py", line 47, in __getitem__ + raise KeyError("no style with name '%s'" % key) +KeyError: "no style with name 'Default'" +[ERROR][2026-02-05 13:39:23,576][log.py:249]Internal Server Error: /api/generate/create/static_soft +[WARNING][2026-02-05 13:39:43,486][operation.py:131]"GET - GenerateControllerDG[create_static_soft] /api/generate/create/static_soft" ("no style with name 'Table Grid'",) +[ERROR][2026-02-05 13:39:43,487][errors.py:131]"no style with name 'Table Grid'" Traceback (most recent call last): File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) @@ -1711,17 +137,28 @@ Traceback (most recent call last): result = self.route.view_func( ctx.controller_instance, *args, **ctx.view_func_kwargs ) - File "D:\python13\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\pagination.py", line 270, in view_with_pagination - items = func(request, **kwargs) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\problem.py", line 42, in get_problem_list - qs = case_obj.caseField.filter(project__id=data.project_id, - ^^^^^^^^^^^^^^^^^^ -AttributeError: 'NoneType' object has no attribute 'caseField' -[ERROR][2025-12-22 14:03:12,190][log.py:249]Internal Server Error: /api/project/getProblemList -[WARNING][2025-12-22 14:04:39,819][operation.py:131]"GET - ProblemController[get_problem_list] /api/project/getProblemList" ("'NoneType' object has no attribute 'caseField'",) -[ERROR][2025-12-22 14:04:39,820][errors.py:131]'NoneType' object has no attribute 'caseField' + File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 469, in create_static_soft + table = subdoc.add_table(rows=rows, cols=cols, style='Table Grid') + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\document.py", line 157, in add_table + table.style = style + ^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\table.py", line 137, in style + style_id = self.part.get_style_id(style_or_name, WD_STYLE_TYPE.TABLE) + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\parts\document.py", line 87, in get_style_id + return self.styles.get_style_id(style_or_name, style_type) + ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\styles\styles.py", line 98, in get_style_id + return self._get_style_id_from_name(style_or_name, style_type) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\styles\styles.py", line 125, in _get_style_id_from_name + return self._get_style_id_from_style(self[style_name], style_type) + ~~~~^^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\styles\styles.py", line 47, in __getitem__ + raise KeyError("no style with name '%s'" % key) +KeyError: "no style with name 'Table Grid'" +[ERROR][2026-02-05 13:39:43,539][log.py:249]Internal Server Error: /api/generate/create/static_soft +[WARNING][2026-02-05 13:41:59,487][operation.py:131]"GET - GenerateControllerDG[create_static_soft] /api/generate/create/static_soft" ("no style with name 'Light Grid'",) +[ERROR][2026-02-05 13:41:59,487][errors.py:131]"no style with name 'Light Grid'" Traceback (most recent call last): File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) @@ -1729,17 +166,28 @@ Traceback (most recent call last): result = self.route.view_func( ctx.controller_instance, *args, **ctx.view_func_kwargs ) - File "D:\python13\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\pagination.py", line 270, in view_with_pagination - items = func(request, **kwargs) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\problem.py", line 42, in get_problem_list - qs = case_obj.caseField.filter(project__id=data.project_id, - ^^^^^^^^^^^^^^^^^^ -AttributeError: 'NoneType' object has no attribute 'caseField' -[ERROR][2025-12-22 14:04:39,822][log.py:249]Internal Server Error: /api/project/getProblemList -[WARNING][2025-12-22 14:11:08,612][operation.py:131]"GET - ProblemController[get_problem_list] /api/project/getProblemList" ("'NoneType' object has no attribute 'caseField'",) -[ERROR][2025-12-22 14:11:08,612][errors.py:131]'NoneType' object has no attribute 'caseField' + File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 469, in create_static_soft + table = subdoc.add_table(rows=rows, cols=cols, style='Light Grid') + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\document.py", line 157, in add_table + table.style = style + ^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\table.py", line 137, in style + style_id = self.part.get_style_id(style_or_name, WD_STYLE_TYPE.TABLE) + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\parts\document.py", line 87, in get_style_id + return self.styles.get_style_id(style_or_name, style_type) + ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\styles\styles.py", line 98, in get_style_id + return self._get_style_id_from_name(style_or_name, style_type) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\styles\styles.py", line 125, in _get_style_id_from_name + return self._get_style_id_from_style(self[style_name], style_type) + ~~~~^^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\styles\styles.py", line 47, in __getitem__ + raise KeyError("no style with name '%s'" % key) +KeyError: "no style with name 'Light Grid'" +[ERROR][2026-02-05 13:41:59,534][log.py:249]Internal Server Error: /api/generate/create/static_soft +[WARNING][2026-02-05 14:20:41,809][operation.py:131]"GET - GenerateControllerDG[create_static_soft] /api/generate/create/static_soft" ("'list' object has no attribute 'content'",) +[ERROR][2026-02-05 14:20:41,811][errors.py:131]'list' object has no attribute 'content' Traceback (most recent call last): File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) @@ -1747,17 +195,13 @@ Traceback (most recent call last): result = self.route.view_func( ctx.controller_instance, *args, **ctx.view_func_kwargs ) - File "D:\python13\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\pagination.py", line 270, in view_with_pagination - items = func(request, **kwargs) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\problem.py", line 42, in get_problem_list - qs = case_obj.caseField.filter(project__id=data.project_id, - ^^^^^^^^^^^^^^^^^^ -AttributeError: 'NoneType' object has no attribute 'caseField' -[ERROR][2025-12-22 14:11:08,614][log.py:249]Internal Server Error: /api/project/getProblemList -[WARNING][2025-12-22 14:11:11,516][operation.py:131]"GET - ProblemController[get_problem_list] /api/project/getProblemList" ("'NoneType' object has no attribute 'caseField'",) -[ERROR][2025-12-22 14:11:11,516][errors.py:131]'NoneType' object has no attribute 'caseField' + File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 493, in create_static_soft + run = pa.add_run(str(table_data.content[0][col-1])) + ^^^^^^^^^^^^^^^^^^ +AttributeError: 'list' object has no attribute 'content' +[ERROR][2026-02-05 14:20:41,821][log.py:249]Internal Server Error: /api/generate/create/static_soft +[WARNING][2026-02-05 16:20:55,068][operation.py:131]"GET - GenerateControllerDG[create_static_soft] /api/generate/create/static_soft" ("Invalid tag name '50'",) +[ERROR][2026-02-05 16:20:55,087][errors.py:131]Invalid tag name '50' Traceback (most recent call last): File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) @@ -1765,17 +209,21 @@ Traceback (most recent call last): result = self.route.view_func( ctx.controller_instance, *args, **ctx.view_func_kwargs ) - File "D:\python13\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\pagination.py", line 270, in view_with_pagination - items = func(request, **kwargs) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\problem.py", line 42, in get_problem_list - qs = case_obj.caseField.filter(project__id=data.project_id, - ^^^^^^^^^^^^^^^^^^ -AttributeError: 'NoneType' object has no attribute 'caseField' -[ERROR][2025-12-22 14:11:11,518][log.py:249]Internal Server Error: /api/project/getProblemList -[WARNING][2025-12-22 14:11:27,159][operation.py:131]"GET - ProblemController[get_problem_list] /api/project/getProblemList" ("'NoneType' object has no attribute 'caseField'",) -[ERROR][2025-12-22 14:11:27,159][errors.py:131]'NoneType' object has no attribute 'caseField' + File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 499, in create_static_soft + set_cell_margins(cell) + ~~~~~~~~~~~~~~~~^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\extensions\tools.py", line 110, in set_cell_margins + node = OxmlElement("w:{}".format(m)) + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\oxml\parser.py", line 62, in OxmlElement + return oxml_parser.makeelement(nsptag.clark_name, attrib=attrs, nsmap=nsdecls) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "src/lxml/parser.pxi", line 1069, in lxml.etree._BaseParser.makeelement + File "src/lxml/apihelpers.pxi", line 108, in lxml.etree._makeElement + File "src/lxml/apihelpers.pxi", line 1739, in lxml.etree._tagValidOrRaise +ValueError: Invalid tag name '50' +[ERROR][2026-02-05 16:20:55,151][log.py:249]Internal Server Error: /api/generate/create/static_soft +[WARNING][2026-02-05 16:49:16,328][operation.py:131]"GET - GenerateControllerDG[create_static_soft] /api/generate/create/static_soft" ("'Table' object has no attribute 'preferred_width'",) +[ERROR][2026-02-05 16:49:16,332][errors.py:131]'Table' object has no attribute 'preferred_width' Traceback (most recent call last): File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) @@ -1783,17 +231,13 @@ Traceback (most recent call last): result = self.route.view_func( ctx.controller_instance, *args, **ctx.view_func_kwargs ) - File "D:\python13\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\pagination.py", line 270, in view_with_pagination - items = func(request, **kwargs) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\problem.py", line 43, in get_problem_list - qs = case_obj.caseField.filter(project__id=data.project_id, - ^^^^^^^^^^^^^^^^^^ -AttributeError: 'NoneType' object has no attribute 'caseField' -[ERROR][2025-12-22 14:11:27,163][log.py:249]Internal Server Error: /api/project/getProblemList -[WARNING][2025-12-22 14:16:24,304][operation.py:131]"GET - ProblemController[get_problem_list] /api/project/getProblemList" ("'NoneType' object has no attribute 'caseField'",) -[ERROR][2025-12-22 14:16:24,304][errors.py:131]'NoneType' object has no attribute 'caseField' + File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 508, in create_static_soft + print(table.preferred_width) + ^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'Table' object has no attribute 'preferred_width' +[ERROR][2026-02-05 16:49:16,381][log.py:249]Internal Server Error: /api/generate/create/static_soft +[WARNING][2026-02-05 16:51:02,698][operation.py:131]"GET - GenerateControllerDG[create_static_soft] /api/generate/create/static_soft" ("'Table' object has no attribute 'allow_autofit'",) +[ERROR][2026-02-05 16:51:02,701][errors.py:131]'Table' object has no attribute 'allow_autofit' Traceback (most recent call last): File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) @@ -1801,17 +245,13 @@ Traceback (most recent call last): result = self.route.view_func( ctx.controller_instance, *args, **ctx.view_func_kwargs ) - File "D:\python13\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\pagination.py", line 270, in view_with_pagination - items = func(request, **kwargs) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\problem.py", line 43, in get_problem_list - "status__icontains":data.status, - ^^^^^^^^^^^^^^^^^^ -AttributeError: 'NoneType' object has no attribute 'caseField' -[ERROR][2025-12-22 14:16:24,306][log.py:249]Internal Server Error: /api/project/getProblemList -[WARNING][2025-12-22 14:16:40,628][operation.py:131]"GET - ProblemController[get_problem_list] /api/project/getProblemList" ("'NoneType' object has no attribute 'caseField'",) -[ERROR][2025-12-22 14:16:40,628][errors.py:131]'NoneType' object has no attribute 'caseField' + File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 508, in create_static_soft + print(table.allow_autofit) + ^^^^^^^^^^^^^^^^^^^ +AttributeError: 'Table' object has no attribute 'allow_autofit' +[ERROR][2026-02-05 16:51:02,719][log.py:249]Internal Server Error: /api/generate/create/static_soft +[WARNING][2026-02-05 17:13:56,362][operation.py:131]"GET - GenerateControllerDG[create_static_hard] /api/generate/create/static_hard" (2, 'No such file or directory') +[ERROR][2026-02-05 17:13:56,362][errors.py:131][Errno 2] No such file or directory: 'E:\\pycharmProjects\\cdtestplant_v1\\media\\R25999\\form_template\\dg\\静态硬件和固件项_2.docx' Traceback (most recent call last): File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) @@ -1819,971 +259,11 @@ Traceback (most recent call last): result = self.route.view_func( ctx.controller_instance, *args, **ctx.view_func_kwargs ) - File "D:\python13\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\pagination.py", line 270, in view_with_pagination - items = func(request, **kwargs) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\problem.py", line 43, in get_problem_list - "status__icontains":data.status, - ^^^^^^^^^^^^^^^^^^ -AttributeError: 'NoneType' object has no attribute 'caseField' -[ERROR][2025-12-22 14:16:40,629][log.py:249]Internal Server Error: /api/project/getProblemList -[WARNING][2025-12-22 14:22:16,503][operation.py:131]"GET - ProblemController[get_problem_list] /api/project/getProblemList" ("Cannot resolve keyword 'round' into field. Choices are: analysis, case, closeMethod, create_datetime, designDate, designerPerson, effect_scope, grade, id, ident, name, operation, postDate, postPerson, project, project_id, remark, result, solve, sort, status, type, update_datetime, verifyDate, verifyPerson, verify_result",) -[ERROR][2025-12-22 14:22:16,507][errors.py:131]Cannot resolve keyword 'round' into field. Choices are: analysis, case, closeMethod, create_datetime, designDate, designerPerson, effect_scope, grade, id, ident, name, operation, postDate, postPerson, project, project_id, remark, result, solve, sort, status, type, update_datetime, verifyDate, verifyPerson, verify_result -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\python13\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\pagination.py", line 270, in view_with_pagination - items = func(request, **kwargs) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\problem.py", line 57, in get_problem_list - qs = Problem.objects.filter(**query_params).order_by("id") - ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\manager.py", line 87, in manager_method - return getattr(self.get_queryset(), name)(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 1542, in filter - return self._filter_or_exclude(False, args, kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 1560, in _filter_or_exclude - clone._filter_or_exclude_inplace(negate, args, kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 1570, in _filter_or_exclude_inplace - self._query.add_q(Q(*args, **kwargs)) - ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\sql\query.py", line 1671, in add_q - clause, _ = self._add_q(q_object, can_reuse) - ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\sql\query.py", line 1703, in _add_q - child_clause, needed_inner = self.build_filter( - ~~~~~~~~~~~~~~~~~^ - child, - ^^^^^^ - ...<7 lines>... - update_join_types=update_join_types, - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - ) - ^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\sql\query.py", line 1551, in build_filter - lookups, parts, reffed_expression = self.solve_lookup_type(arg, summarize) - ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\sql\query.py", line 1358, in solve_lookup_type - _, field, _, lookup_parts = self.names_to_path(lookup_splitted, self.get_meta()) - ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\sql\query.py", line 1832, in names_to_path - raise FieldError( - ...<2 lines>... - ) -django.core.exceptions.FieldError: Cannot resolve keyword 'round' into field. Choices are: analysis, case, closeMethod, create_datetime, designDate, designerPerson, effect_scope, grade, id, ident, name, operation, postDate, postPerson, project, project_id, remark, result, solve, sort, status, type, update_datetime, verifyDate, verifyPerson, verify_result -[ERROR][2025-12-22 14:22:16,567][log.py:249]Internal Server Error: /api/project/getProblemList -[WARNING][2025-12-22 18:54:25,516][operation.py:131]"PUT - ProblemController[update_problem] /api/project/problem/update/110" ([{'type': 'missing', 'loc': ('body', 'payload', 'projectId'), 'msg': 'Field required'}],) -[WARNING][2025-12-22 18:54:25,524][log.py:249]Unprocessable Content: /api/project/problem/update/110 -[WARNING][2025-12-23 09:10:01,937][log.py:249]Unauthorized: /api/system/getInfo -[WARNING][2025-12-23 09:10:01,993][log.py:249]Unauthorized: /api/system/logout -[WARNING][2025-12-23 09:10:05,307][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-12-23 10:30:39,952][operation.py:131]"GET - DictController[get_dict] /api/system/dataDict/list" ('Dict matching query does not exist.',) -[ERROR][2025-12-23 10:30:39,953][errors.py:131]Dict matching query does not exist. -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "E:\pycharmProjects\cdtestplant_v1\apps\dict\controllers\dict.py", line 22, in get_dict - dict_qs = Dict.objects.get(code=code) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\manager.py", line 87, in manager_method - return getattr(self.get_queryset(), name)(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 639, in get - raise self.model.DoesNotExist( - "%s matching query does not exist." % self.model._meta.object_name - ) -apps.dict.models.Dict.DoesNotExist: Dict matching query does not exist. -[ERROR][2025-12-23 10:30:39,965][log.py:249]Internal Server Error: /api/system/dataDict/list -[WARNING][2025-12-23 10:31:04,888][operation.py:131]"GET - DictController[get_dict] /api/system/dataDict/list" ('Dict matching query does not exist.',) -[ERROR][2025-12-23 10:31:04,889][errors.py:131]Dict matching query does not exist. -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "E:\pycharmProjects\cdtestplant_v1\apps\dict\controllers\dict.py", line 22, in get_dict - dict_qs = Dict.objects.get(code=code) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\manager.py", line 87, in manager_method - return getattr(self.get_queryset(), name)(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 639, in get - raise self.model.DoesNotExist( - "%s matching query does not exist." % self.model._meta.object_name - ) -apps.dict.models.Dict.DoesNotExist: Dict matching query does not exist. -[ERROR][2025-12-23 10:31:04,892][log.py:249]Internal Server Error: /api/system/dataDict/list -[WARNING][2025-12-23 10:31:15,083][operation.py:131]"GET - DictController[get_dict] /api/system/dataDict/list" ('Dict matching query does not exist.',) -[ERROR][2025-12-23 10:31:15,085][errors.py:131]Dict matching query does not exist. -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "E:\pycharmProjects\cdtestplant_v1\apps\dict\controllers\dict.py", line 22, in get_dict - dict_qs = Dict.objects.get(code=code) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\manager.py", line 87, in manager_method - return getattr(self.get_queryset(), name)(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 639, in get - raise self.model.DoesNotExist( - "%s matching query does not exist." % self.model._meta.object_name - ) -apps.dict.models.Dict.DoesNotExist: Dict matching query does not exist. -[WARNING][2025-12-23 10:31:15,086][operation.py:131]"GET - DictController[get_dict] /api/system/dataDict/list" ('Dict matching query does not exist.',) -[ERROR][2025-12-23 10:31:15,087][errors.py:131]Dict matching query does not exist. -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "E:\pycharmProjects\cdtestplant_v1\apps\dict\controllers\dict.py", line 22, in get_dict - dict_qs = Dict.objects.get(code=code) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\manager.py", line 87, in manager_method - return getattr(self.get_queryset(), name)(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 639, in get - raise self.model.DoesNotExist( - "%s matching query does not exist." % self.model._meta.object_name - ) -apps.dict.models.Dict.DoesNotExist: Dict matching query does not exist. -[ERROR][2025-12-23 10:31:15,087][log.py:249]Internal Server Error: /api/system/dataDict/list -[ERROR][2025-12-23 10:31:15,089][log.py:249]Internal Server Error: /api/system/dataDict/list -[WARNING][2025-12-23 10:33:01,200][operation.py:131]"GET - DictController[get_dict] /api/system/dataDict/list" ('Dict matching query does not exist.',) -[ERROR][2025-12-23 10:33:01,200][errors.py:131]Dict matching query does not exist. -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "E:\pycharmProjects\cdtestplant_v1\apps\dict\controllers\dict.py", line 22, in get_dict - dict_qs = Dict.objects.get(code=code) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\manager.py", line 87, in manager_method - return getattr(self.get_queryset(), name)(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 639, in get - raise self.model.DoesNotExist( - "%s matching query does not exist." % self.model._meta.object_name - ) -apps.dict.models.Dict.DoesNotExist: Dict matching query does not exist. -[WARNING][2025-12-23 10:33:01,202][operation.py:131]"GET - DictController[get_dict] /api/system/dataDict/list" ('Dict matching query does not exist.',) -[ERROR][2025-12-23 10:33:01,203][log.py:249]Internal Server Error: /api/system/dataDict/list -[ERROR][2025-12-23 10:33:01,204][errors.py:131]Dict matching query does not exist. -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "E:\pycharmProjects\cdtestplant_v1\apps\dict\controllers\dict.py", line 22, in get_dict - dict_qs = Dict.objects.get(code=code) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\manager.py", line 87, in manager_method - return getattr(self.get_queryset(), name)(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 639, in get - raise self.model.DoesNotExist( - "%s matching query does not exist." % self.model._meta.object_name - ) -apps.dict.models.Dict.DoesNotExist: Dict matching query does not exist. -[ERROR][2025-12-23 10:33:01,209][log.py:249]Internal Server Error: /api/system/dataDict/list -[WARNING][2025-12-23 10:33:28,003][operation.py:131]"GET - DictController[get_dict] /api/system/dataDict/list" ('Dict matching query does not exist.',) -[WARNING][2025-12-23 10:33:28,004][operation.py:131]"GET - DictController[get_dict] /api/system/dataDict/list" ('Dict matching query does not exist.',) -[ERROR][2025-12-23 10:33:28,005][errors.py:131]Dict matching query does not exist. -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "E:\pycharmProjects\cdtestplant_v1\apps\dict\controllers\dict.py", line 22, in get_dict - dict_qs = Dict.objects.get(code=code) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\manager.py", line 87, in manager_method - return getattr(self.get_queryset(), name)(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 639, in get - raise self.model.DoesNotExist( - "%s matching query does not exist." % self.model._meta.object_name - ) -apps.dict.models.Dict.DoesNotExist: Dict matching query does not exist. -[ERROR][2025-12-23 10:33:28,005][errors.py:131]Dict matching query does not exist. -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "E:\pycharmProjects\cdtestplant_v1\apps\dict\controllers\dict.py", line 22, in get_dict - dict_qs = Dict.objects.get(code=code) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\manager.py", line 87, in manager_method - return getattr(self.get_queryset(), name)(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 639, in get - raise self.model.DoesNotExist( - "%s matching query does not exist." % self.model._meta.object_name - ) -apps.dict.models.Dict.DoesNotExist: Dict matching query does not exist. -[ERROR][2025-12-23 10:33:28,007][log.py:249]Internal Server Error: /api/system/dataDict/list -[ERROR][2025-12-23 10:33:28,013][log.py:249]Internal Server Error: /api/system/dataDict/list -[WARNING][2025-12-23 10:33:55,898][operation.py:131]"GET - DictController[get_dict] /api/system/dataDict/list" ('Dict matching query does not exist.',) -[ERROR][2025-12-23 10:33:55,899][errors.py:131]Dict matching query does not exist. -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "E:\pycharmProjects\cdtestplant_v1\apps\dict\controllers\dict.py", line 22, in get_dict - dict_qs = Dict.objects.get(code=code) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\manager.py", line 87, in manager_method - return getattr(self.get_queryset(), name)(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 639, in get - raise self.model.DoesNotExist( - "%s matching query does not exist." % self.model._meta.object_name - ) -apps.dict.models.Dict.DoesNotExist: Dict matching query does not exist. -[ERROR][2025-12-23 10:33:55,903][log.py:249]Internal Server Error: /api/system/dataDict/list -[WARNING][2025-12-23 10:33:55,909][operation.py:131]"GET - DictController[get_dict] /api/system/dataDict/list" ('Dict matching query does not exist.',) -[ERROR][2025-12-23 10:33:55,909][errors.py:131]Dict matching query does not exist. -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "E:\pycharmProjects\cdtestplant_v1\apps\dict\controllers\dict.py", line 22, in get_dict - dict_qs = Dict.objects.get(code=code) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\manager.py", line 87, in manager_method - return getattr(self.get_queryset(), name)(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 639, in get - raise self.model.DoesNotExist( - "%s matching query does not exist." % self.model._meta.object_name - ) -apps.dict.models.Dict.DoesNotExist: Dict matching query does not exist. -[ERROR][2025-12-23 10:33:55,913][log.py:249]Internal Server Error: /api/system/dataDict/list -[WARNING][2025-12-23 10:34:10,829][operation.py:131]"GET - DictController[get_dict] /api/system/dataDict/list" ('Dict matching query does not exist.',) -[ERROR][2025-12-23 10:34:10,829][errors.py:131]Dict matching query does not exist. -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "E:\pycharmProjects\cdtestplant_v1\apps\dict\controllers\dict.py", line 22, in get_dict - dict_qs = Dict.objects.get(code=code) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\manager.py", line 87, in manager_method - return getattr(self.get_queryset(), name)(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 639, in get - raise self.model.DoesNotExist( - "%s matching query does not exist." % self.model._meta.object_name - ) -apps.dict.models.Dict.DoesNotExist: Dict matching query does not exist. -[ERROR][2025-12-23 10:34:10,831][log.py:249]Internal Server Error: /api/system/dataDict/list -[WARNING][2025-12-23 10:34:10,838][operation.py:131]"GET - DictController[get_dict] /api/system/dataDict/list" ('Dict matching query does not exist.',) -[ERROR][2025-12-23 10:34:10,838][errors.py:131]Dict matching query does not exist. -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "E:\pycharmProjects\cdtestplant_v1\apps\dict\controllers\dict.py", line 22, in get_dict - dict_qs = Dict.objects.get(code=code) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\manager.py", line 87, in manager_method - return getattr(self.get_queryset(), name)(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 639, in get - raise self.model.DoesNotExist( - "%s matching query does not exist." % self.model._meta.object_name - ) -apps.dict.models.Dict.DoesNotExist: Dict matching query does not exist. -[ERROR][2025-12-23 10:34:10,840][log.py:249]Internal Server Error: /api/system/dataDict/list -[WARNING][2025-12-23 10:34:22,122][operation.py:131]"GET - DictController[get_dict] /api/system/dataDict/list" ('Dict matching query does not exist.',) -[ERROR][2025-12-23 10:34:22,122][errors.py:131]Dict matching query does not exist. -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "E:\pycharmProjects\cdtestplant_v1\apps\dict\controllers\dict.py", line 22, in get_dict - dict_qs = Dict.objects.get(code=code) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\manager.py", line 87, in manager_method - return getattr(self.get_queryset(), name)(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 639, in get - raise self.model.DoesNotExist( - "%s matching query does not exist." % self.model._meta.object_name - ) -apps.dict.models.Dict.DoesNotExist: Dict matching query does not exist. -[ERROR][2025-12-23 10:34:22,123][log.py:249]Internal Server Error: /api/system/dataDict/list -[WARNING][2025-12-23 10:34:22,139][operation.py:131]"GET - DictController[get_dict] /api/system/dataDict/list" ('Dict matching query does not exist.',) -[ERROR][2025-12-23 10:34:22,139][errors.py:131]Dict matching query does not exist. -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "E:\pycharmProjects\cdtestplant_v1\apps\dict\controllers\dict.py", line 22, in get_dict - dict_qs = Dict.objects.get(code=code) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\manager.py", line 87, in manager_method - return getattr(self.get_queryset(), name)(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 639, in get - raise self.model.DoesNotExist( - "%s matching query does not exist." % self.model._meta.object_name - ) -apps.dict.models.Dict.DoesNotExist: Dict matching query does not exist. -[ERROR][2025-12-23 10:34:22,141][log.py:249]Internal Server Error: /api/system/dataDict/list -[WARNING][2025-12-23 10:34:37,398][operation.py:131]"GET - DictController[get_dict] /api/system/dataDict/list" ('Dict matching query does not exist.',) -[ERROR][2025-12-23 10:34:37,399][errors.py:131]Dict matching query does not exist. -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "E:\pycharmProjects\cdtestplant_v1\apps\dict\controllers\dict.py", line 22, in get_dict - dict_qs = Dict.objects.get(code=code) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\manager.py", line 87, in manager_method - return getattr(self.get_queryset(), name)(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 639, in get - raise self.model.DoesNotExist( - "%s matching query does not exist." % self.model._meta.object_name - ) -apps.dict.models.Dict.DoesNotExist: Dict matching query does not exist. -[WARNING][2025-12-23 10:34:37,400][operation.py:131]"GET - DictController[get_dict] /api/system/dataDict/list" ('Dict matching query does not exist.',) -[ERROR][2025-12-23 10:34:37,401][errors.py:131]Dict matching query does not exist. -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "E:\pycharmProjects\cdtestplant_v1\apps\dict\controllers\dict.py", line 22, in get_dict - dict_qs = Dict.objects.get(code=code) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\manager.py", line 87, in manager_method - return getattr(self.get_queryset(), name)(*args, **kwargs) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 639, in get - raise self.model.DoesNotExist( - "%s matching query does not exist." % self.model._meta.object_name - ) -apps.dict.models.Dict.DoesNotExist: Dict matching query does not exist. -[ERROR][2025-12-23 10:34:37,402][log.py:249]Internal Server Error: /api/system/dataDict/list -[ERROR][2025-12-23 10:34:37,412][log.py:249]Internal Server Error: /api/system/dataDict/list -[WARNING][2025-12-24 16:37:55,823][log.py:249]Not Found: / -[WARNING][2025-12-24 16:37:55,938][log.py:249]Not Found: /favicon.ico -[WARNING][2025-12-24 16:39:23,788][log.py:249]Unauthorized: /api/system/getInfo -[WARNING][2025-12-24 16:39:23,853][log.py:249]Unauthorized: /api/system/logout -[WARNING][2025-12-24 16:39:28,506][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-12-29 15:33:48,008][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2025-12-29 15:43:37,401][log.py:249]Payment Required: /api/project/create_renji/ -[WARNING][2025-12-29 15:47:52,855][operation.py:131]"POST - UploadController[upload_xq_docx] /api/dut_upload/upload_xq_docx/" ("file 'C:\\Users\\31429\\AppData\\Local\\Temp\\tmpcpy143v1\\21352标校软件需求规格说明V1.01(公开).doc' is not a Word file, content type is 'application/vnd.openxmlformats-officedocument.themeManager+xml'",) -[ERROR][2025-12-29 15:47:52,855][errors.py:131]file 'C:\Users\31429\AppData\Local\Temp\tmpcpy143v1\21352标校软件需求规格说明V1.01(公开).doc' is not a Word file, content type is 'application/vnd.openxmlformats-officedocument.themeManager+xml' -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\dut.py", line 252, in upload_xq_docx - extracter = DocxChapterExtractor(docx_path) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\tool\xq_parse.py", line 18, in __init__ - self.doc = docx.Document(docx_path) # 解析文档 - ~~~~~~~~~~~~~^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\api.py", line 30, in Document - raise ValueError(tmpl % (docx, document_part.content_type)) -ValueError: file 'C:\Users\31429\AppData\Local\Temp\tmpcpy143v1\21352标校软件需求规格说明V1.01(公开).doc' is not a Word file, content type is 'application/vnd.openxmlformats-officedocument.themeManager+xml' -[ERROR][2025-12-29 15:47:52,858][log.py:249]Internal Server Error: /api/dut_upload/upload_xq_docx/ -[WARNING][2025-12-29 15:48:14,809][operation.py:131]"POST - UploadController[upload_xq_docx] /api/dut_upload/upload_xq_docx/" ("file 'C:\\Users\\31429\\AppData\\Local\\Temp\\tmp_n55usen\\21352标校软件需求规格说明V1.01(公开).doc' is not a Word file, content type is 'application/vnd.openxmlformats-officedocument.themeManager+xml'",) -[ERROR][2025-12-29 15:48:14,810][errors.py:131]file 'C:\Users\31429\AppData\Local\Temp\tmp_n55usen\21352标校软件需求规格说明V1.01(公开).doc' is not a Word file, content type is 'application/vnd.openxmlformats-officedocument.themeManager+xml' -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\dut.py", line 252, in upload_xq_docx - extracter = DocxChapterExtractor(docx_path) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\tool\xq_parse.py", line 18, in __init__ - self.doc = docx.Document(docx_path) # 解析文档 - ~~~~~~~~~~~~~^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\api.py", line 30, in Document - raise ValueError(tmpl % (docx, document_part.content_type)) -ValueError: file 'C:\Users\31429\AppData\Local\Temp\tmp_n55usen\21352标校软件需求规格说明V1.01(公开).doc' is not a Word file, content type is 'application/vnd.openxmlformats-officedocument.themeManager+xml' -[ERROR][2025-12-29 15:48:14,811][log.py:249]Internal Server Error: /api/dut_upload/upload_xq_docx/ -[WARNING][2025-12-29 16:07:51,156][log.py:249]Bad Request: /api/project/testDemand/solveRelatedTestDemand -[WARNING][2025-12-30 09:08:25,722][log.py:249]Unauthorized: /api/system/getInfo -[WARNING][2025-12-30 09:08:25,816][log.py:249]Unauthorized: /api/system/logout -[WARNING][2025-12-30 09:09:35,244][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2026-01-05 15:36:48,015][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2026-01-12 09:53:36,139][log.py:249]Unauthorized: /api/system/getInfo -[WARNING][2026-01-12 09:53:36,226][log.py:249]Unauthorized: /api/system/logout -[WARNING][2026-01-12 09:53:40,193][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2026-01-12 10:22:18,307][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2026-01-12 10:22:27,314][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2026-01-12 10:22:30,857][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2026-01-12 10:23:39,227][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2026-01-12 10:23:39,511][operation.py:131]"POST - UserTokenController[obtain_token] /api/system/login" () -[ERROR][2026-01-12 10:23:39,511][errors.py:131]3 validation errors for NinjaResponseSchema -response.token - Field required [type=missing, input_value=, input_type=DjangoGetter] - For further information visit https://errors.pydantic.dev/2.12/v/missing -response.refresh - Field required [type=missing, input_value=, input_type=DjangoGetter] - For further information visit https://errors.pydantic.dev/2.12/v/missing -response.token_exp_data - Field required [type=missing, input_value=, input_type=DjangoGetter] - For further information visit https://errors.pydantic.dev/2.12/v/missing -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run - _processed_results = self._result_to_response( - request, result, ctx.response - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\operation.py", line 280, in _result_to_response - validated_object = response_model.model_validate( - resp_object, context={"request": request, "response_status": status} - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\pydantic\main.py", line 716, in model_validate - return cls.__pydantic_validator__.validate_python( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - obj, - ^^^^ - ...<5 lines>... - by_name=by_name, - ^^^^^^^^^^^^^^^^ - ) - ^ -pydantic_core._pydantic_core.ValidationError: 3 validation errors for NinjaResponseSchema -response.token - Field required [type=missing, input_value=, input_type=DjangoGetter] - For further information visit https://errors.pydantic.dev/2.12/v/missing -response.refresh - Field required [type=missing, input_value=, input_type=DjangoGetter] - For further information visit https://errors.pydantic.dev/2.12/v/missing -response.token_exp_data - Field required [type=missing, input_value=, input_type=DjangoGetter] - For further information visit https://errors.pydantic.dev/2.12/v/missing -[ERROR][2026-01-12 10:23:39,522][log.py:249]Internal Server Error: /api/system/login -[WARNING][2026-01-12 10:24:08,914][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2026-01-12 10:24:09,211][operation.py:131]"POST - UserTokenController[obtain_token] /api/system/login" () -[ERROR][2026-01-12 10:24:09,211][errors.py:131]3 validation errors for NinjaResponseSchema -response.token - Field required [type=missing, input_value=, input_type=DjangoGetter] - For further information visit https://errors.pydantic.dev/2.12/v/missing -response.refresh - Field required [type=missing, input_value=, input_type=DjangoGetter] - For further information visit https://errors.pydantic.dev/2.12/v/missing -response.token_exp_data - Field required [type=missing, input_value=, input_type=DjangoGetter] - For further information visit https://errors.pydantic.dev/2.12/v/missing -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run - _processed_results = self._result_to_response( - request, result, ctx.response - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\operation.py", line 280, in _result_to_response - validated_object = response_model.model_validate( - resp_object, context={"request": request, "response_status": status} - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\pydantic\main.py", line 716, in model_validate - return cls.__pydantic_validator__.validate_python( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - obj, - ^^^^ - ...<5 lines>... - by_name=by_name, - ^^^^^^^^^^^^^^^^ - ) - ^ -pydantic_core._pydantic_core.ValidationError: 3 validation errors for NinjaResponseSchema -response.token - Field required [type=missing, input_value=, input_type=DjangoGetter] - For further information visit https://errors.pydantic.dev/2.12/v/missing -response.refresh - Field required [type=missing, input_value=, input_type=DjangoGetter] - For further information visit https://errors.pydantic.dev/2.12/v/missing -response.token_exp_data - Field required [type=missing, input_value=, input_type=DjangoGetter] - For further information visit https://errors.pydantic.dev/2.12/v/missing -[ERROR][2026-01-12 10:24:09,213][log.py:249]Internal Server Error: /api/system/login -[WARNING][2026-01-12 10:24:09,825][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2026-01-12 10:24:10,314][operation.py:131]"POST - UserTokenController[obtain_token] /api/system/login" () -[ERROR][2026-01-12 10:24:10,314][errors.py:131]3 validation errors for NinjaResponseSchema -response.token - Field required [type=missing, input_value=, input_type=DjangoGetter] - For further information visit https://errors.pydantic.dev/2.12/v/missing -response.refresh - Field required [type=missing, input_value=, input_type=DjangoGetter] - For further information visit https://errors.pydantic.dev/2.12/v/missing -response.token_exp_data - Field required [type=missing, input_value=, input_type=DjangoGetter] - For further information visit https://errors.pydantic.dev/2.12/v/missing -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run - _processed_results = self._result_to_response( - request, result, ctx.response - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\operation.py", line 280, in _result_to_response - validated_object = response_model.model_validate( - resp_object, context={"request": request, "response_status": status} - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\pydantic\main.py", line 716, in model_validate - return cls.__pydantic_validator__.validate_python( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - obj, - ^^^^ - ...<5 lines>... - by_name=by_name, - ^^^^^^^^^^^^^^^^ - ) - ^ -pydantic_core._pydantic_core.ValidationError: 3 validation errors for NinjaResponseSchema -response.token - Field required [type=missing, input_value=, input_type=DjangoGetter] - For further information visit https://errors.pydantic.dev/2.12/v/missing -response.refresh - Field required [type=missing, input_value=, input_type=DjangoGetter] - For further information visit https://errors.pydantic.dev/2.12/v/missing -response.token_exp_data - Field required [type=missing, input_value=, input_type=DjangoGetter] - For further information visit https://errors.pydantic.dev/2.12/v/missing -[ERROR][2026-01-12 10:24:10,315][log.py:249]Internal Server Error: /api/system/login -[WARNING][2026-01-12 10:24:14,108][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2026-01-12 10:24:14,620][operation.py:131]"POST - UserTokenController[obtain_token] /api/system/login" () -[ERROR][2026-01-12 10:24:14,620][errors.py:131]3 validation errors for NinjaResponseSchema -response.token - Field required [type=missing, input_value=, input_type=DjangoGetter] - For further information visit https://errors.pydantic.dev/2.12/v/missing -response.refresh - Field required [type=missing, input_value=, input_type=DjangoGetter] - For further information visit https://errors.pydantic.dev/2.12/v/missing -response.token_exp_data - Field required [type=missing, input_value=, input_type=DjangoGetter] - For further information visit https://errors.pydantic.dev/2.12/v/missing -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 214, in run - _processed_results = self._result_to_response( - request, result, ctx.response - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja\operation.py", line 280, in _result_to_response - validated_object = response_model.model_validate( - resp_object, context={"request": request, "response_status": status} - ) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\pydantic\main.py", line 716, in model_validate - return cls.__pydantic_validator__.validate_python( - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ - obj, - ^^^^ - ...<5 lines>... - by_name=by_name, - ^^^^^^^^^^^^^^^^ - ) - ^ -pydantic_core._pydantic_core.ValidationError: 3 validation errors for NinjaResponseSchema -response.token - Field required [type=missing, input_value=, input_type=DjangoGetter] - For further information visit https://errors.pydantic.dev/2.12/v/missing -response.refresh - Field required [type=missing, input_value=, input_type=DjangoGetter] - For further information visit https://errors.pydantic.dev/2.12/v/missing -response.token_exp_data - Field required [type=missing, input_value=, input_type=DjangoGetter] - For further information visit https://errors.pydantic.dev/2.12/v/missing -[ERROR][2026-01-12 10:24:14,630][log.py:249]Internal Server Error: /api/system/login -[WARNING][2026-01-12 10:25:39,666][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2026-01-12 10:25:52,819][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2026-01-20 15:35:49,614][log.py:249]Not Found: / -[WARNING][2026-01-20 15:35:49,619][log.py:249]Not Found: / -[WARNING][2026-01-20 15:35:49,623][log.py:249]Not Found: / -[WARNING][2026-01-20 15:35:49,627][log.py:249]Not Found: / -[WARNING][2026-01-20 15:35:49,756][log.py:249]Not Found: /favicon.ico -[WARNING][2026-01-20 15:35:49,811][log.py:249]Not Found: /favicon.ico -[WARNING][2026-01-20 15:35:49,847][log.py:249]Not Found: /favicon.ico -[WARNING][2026-01-20 15:35:49,887][log.py:249]Not Found: /favicon.ico -[WARNING][2026-01-20 15:36:36,008][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2026-01-20 16:34:34,986][logger.py:25][回归测试说明模块][当前文档全部片段]片段:该项目没有创建轮次 -[WARNING][2026-01-20 16:34:34,987][log.py:249]Bad Request: /api/generateHSM/create/basicInformation -[WARNING][2026-01-21 09:08:12,013][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2026-01-21 09:20:15,753][log.py:249]Unprocessable Content: /api/project/switch_position -[WARNING][2026-01-21 09:20:20,719][log.py:249]Unprocessable Content: /api/project/switch_position -[WARNING][2026-01-21 09:59:44,017][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2026-01-21 10:11:27,647][operation.py:131]"GET - DesignController[switch_position] /api/project/switch_position" ('str.join() takes exactly one argument (2 given)',) -[ERROR][2026-01-21 10:11:27,647][errors.py:131]str.join() takes exactly one argument (2 given) -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 268, in switch_position - return_key = DesignDrapAtoB(from_design_obj, to_design_obj, design_qs, pos) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\tool\dragAndDrop.py", line 20, in DesignDrapAtoB - prefix = "".join(a.dut.key, "-") -TypeError: str.join() takes exactly one argument (2 given) -[ERROR][2026-01-21 10:11:27,651][log.py:249]Internal Server Error: /api/project/switch_position -[WARNING][2026-01-21 10:13:50,072][operation.py:131]"GET - DesignController[switch_position] /api/project/switch_position" ('cannot unpack non-iterable Design object',) -[ERROR][2026-01-21 10:13:50,073][errors.py:131]cannot unpack non-iterable Design object -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 268, in switch_position - return_key = DesignDrapAtoB(from_design_obj, to_design_obj, design_qs, pos) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\tool\dragAndDrop.py", line 21, in DesignDrapAtoB - for index, obj in list_qs: - ^^^^^^^^^^ -TypeError: cannot unpack non-iterable Design object -[ERROR][2026-01-21 10:13:50,075][log.py:249]Internal Server Error: /api/project/switch_position -[WARNING][2026-01-26 09:29:52,516][log.py:249]Unauthorized: /api/system/getInfo -[WARNING][2026-01-26 09:29:52,614][log.py:249]Unauthorized: /api/system/logout -[WARNING][2026-01-26 09:34:15,617][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2026-01-26 10:18:20,468][log.py:249]Unprocessable Content: /api/project/switch_position -[ERROR][2026-01-26 10:43:44,242][log.py:249]Internal Server Error: /api/project/case/create_by_demand -[WARNING][2026-01-26 10:55:06,736][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2026-01-27 13:17:05,789][log.py:249]Unauthorized: /api/system/getInfo -[WARNING][2026-01-27 13:17:05,892][log.py:249]Unauthorized: /api/system/logout -[WARNING][2026-01-27 13:18:15,840][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2026-01-28 12:13:49,105][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2026-01-30 09:38:46,690][log.py:249]Unauthorized: /api/system/getInfo -[WARNING][2026-01-30 09:38:46,748][log.py:249]Unauthorized: /api/system/logout -[WARNING][2026-01-30 09:38:52,507][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2026-01-31 14:49:39,238][log.py:249]Unauthorized: /api/system/getInfo -[WARNING][2026-01-31 14:49:39,293][log.py:249]Unauthorized: /api/system/logout -[WARNING][2026-01-31 14:49:43,799][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2026-02-02 09:26:08,505][log.py:249]Unauthorized: /api/system/getInfo -[WARNING][2026-02-02 09:26:08,571][log.py:249]Unauthorized: /api/system/logout -[WARNING][2026-02-02 09:26:12,729][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2026-02-02 13:30:55,793][log.py:249]Not Found: /api/project/soft_summary -[WARNING][2026-02-02 13:31:22,516][log.py:249]Not Found: /api/project/soft_summary -[WARNING][2026-02-02 13:31:41,506][log.py:249]Not Found: /api/project/soft_summary -[WARNING][2026-02-02 13:32:10,831][log.py:249]Not Found: /api/testmanage/project/soft_summary -[WARNING][2026-02-02 13:32:29,763][log.py:249]Not Found: /api/testmanage/project/soft_summary -[WARNING][2026-02-02 13:32:55,155][log.py:249]Not Found: /api/testmanage/project/soft_summary/ -[WARNING][2026-02-02 14:12:31,293][operation.py:131]"POST - ProjectController[soft_summary] /api/testmanage/project/soft_summary/" ([{'type': 'missing', 'loc': ('body', 'payload', 'id'), 'msg': 'Field required'}],) -[WARNING][2026-02-02 14:12:31,303][log.py:249]Unprocessable Content: /api/testmanage/project/soft_summary/ -[WARNING][2026-02-02 14:14:38,024][operation.py:131]"POST - ProjectController[soft_summary] /api/testmanage/project/soft_summary/" ("ControllerBase.get_object_or_exception() missing 1 required positional argument: 'klass'",) -[ERROR][2026-02-02 14:14:38,024][errors.py:131]ControllerBase.get_object_or_exception() missing 1 required positional argument: 'klass': Did you fail to use functools.wraps() in a decorator? -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\project.py", line 275, in soft_summary - project_obj = self.get_object_or_exception(error_message="项目未找到", id=payload.id) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -TypeError: ControllerBase.get_object_or_exception() missing 1 required positional argument: 'klass': Did you fail to use functools.wraps() in a decorator? -[ERROR][2026-02-02 14:14:38,026][log.py:249]Internal Server Error: /api/testmanage/project/soft_summary/ -[WARNING][2026-02-02 14:19:07,911][operation.py:131]"POST - ProjectController[soft_summary] /api/testmanage/project/soft_summary/" ([{'type': 'missing', 'loc': ('body', 'payload', 'data', 'content'), 'msg': 'Field required'}],) -[WARNING][2026-02-02 14:19:07,941][log.py:249]Unprocessable Content: /api/testmanage/project/soft_summary/ -[WARNING][2026-02-02 14:20:14,692][operation.py:131]"POST - ProjectController[soft_summary] /api/testmanage/project/soft_summary/" ([{'type': 'missing', 'loc': ('body', 'payload', 'data', 'content'), 'msg': 'Field required'}],) -[WARNING][2026-02-02 14:20:14,711][log.py:249]Unprocessable Content: /api/testmanage/project/soft_summary/ -[WARNING][2026-02-02 15:01:43,771][operation.py:131]"POST - ProjectController[soft_summary] /api/testmanage/project/soft_summary/" ('Project has no projSoftSummary.',) -[ERROR][2026-02-02 15:01:43,771][errors.py:131]Project has no projSoftSummary. -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\project.py", line 277, in soft_summary - print(project_obj.projSoftSummary) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\fields\related_descriptors.py", line 520, in __get__ - raise self.RelatedObjectDoesNotExist( - ...<2 lines>... - ) -apps.project.models.Project.projSoftSummary.RelatedObjectDoesNotExist: Project has no projSoftSummary. -[ERROR][2026-02-02 15:01:43,774][log.py:249]Internal Server Error: /api/testmanage/project/soft_summary/ -[WARNING][2026-02-02 16:15:49,995][log.py:249]Method Not Allowed: /api/testmanage/project/soft_summary/ -[WARNING][2026-02-02 16:20:32,438][operation.py:131]"GET - ProjectController[get_soft_summary] /api/testmanage/project/get_soft_summary/" ('Object of type ProjectSoftSummary is not JSON serializable',) -[ERROR][2026-02-02 16:20:32,438][errors.py:131]Object of type ProjectSoftSummary is not JSON serializable -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\project.py", line 307, in get_soft_summary - return ChenResponse(status=200, code=25001, data=soft_summary_qs.first()) - File "E:\pycharmProjects\cdtestplant_v1\utils\chen_response.py", line 25, in __init__ - data = json.dumps(std_data, cls=DateEncoder) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\__init__.py", line 242, in dumps - **kw).encode(obj) - ~~~~~~^^^^^ - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\encoder.py", line 202, in encode - chunks = self.iterencode(o, _one_shot=True) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\encoder.py", line 263, in iterencode - return _iterencode(o, 0) - File "E:\pycharmProjects\cdtestplant_v1\utils\chen_response.py", line 11, in default - return json.JSONEncoder.default(self, obj) - ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\encoder.py", line 182, in default - raise TypeError(f'Object of type {o.__class__.__name__} ' - f'is not JSON serializable') -TypeError: Object of type ProjectSoftSummary is not JSON serializable -[ERROR][2026-02-02 16:20:32,442][log.py:249]Internal Server Error: /api/testmanage/project/get_soft_summary/ -[WARNING][2026-02-02 16:21:07,379][operation.py:131]"GET - ProjectController[get_soft_summary] /api/testmanage/project/get_soft_summary/" ('Object of type ProjectSoftSummary is not JSON serializable',) -[ERROR][2026-02-02 16:21:07,379][errors.py:131]Object of type ProjectSoftSummary is not JSON serializable -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\project.py", line 309, in get_soft_summary - return ChenResponse(status=200, code=25001, data=soft_summary_qs.first()) - File "E:\pycharmProjects\cdtestplant_v1\utils\chen_response.py", line 25, in __init__ - data = json.dumps(std_data, cls=DateEncoder) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\__init__.py", line 242, in dumps - **kw).encode(obj) - ~~~~~~^^^^^ - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\encoder.py", line 202, in encode - chunks = self.iterencode(o, _one_shot=True) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\encoder.py", line 263, in iterencode - return _iterencode(o, 0) - File "E:\pycharmProjects\cdtestplant_v1\utils\chen_response.py", line 11, in default - return json.JSONEncoder.default(self, obj) - ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\encoder.py", line 182, in default - raise TypeError(f'Object of type {o.__class__.__name__} ' - f'is not JSON serializable') -TypeError: Object of type ProjectSoftSummary is not JSON serializable -[ERROR][2026-02-02 16:21:07,393][log.py:249]Internal Server Error: /api/testmanage/project/get_soft_summary/ -[WARNING][2026-02-02 16:26:31,853][operation.py:131]"GET - ProjectController[get_soft_summary] /api/testmanage/project/get_soft_summary/" ('Object of type ProjectSoftSummary is not JSON serializable',) -[ERROR][2026-02-02 16:26:31,853][errors.py:131]Object of type ProjectSoftSummary is not JSON serializable -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\project.py", line 309, in get_soft_summary - return ChenResponse(status=200, code=25001, data=soft_summary_qs.first()) - File "E:\pycharmProjects\cdtestplant_v1\utils\chen_response.py", line 25, in __init__ - data = json.dumps(std_data, cls=DateEncoder) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\__init__.py", line 242, in dumps - **kw).encode(obj) - ~~~~~~^^^^^ - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\encoder.py", line 202, in encode - chunks = self.iterencode(o, _one_shot=True) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\encoder.py", line 263, in iterencode - return _iterencode(o, 0) - File "E:\pycharmProjects\cdtestplant_v1\utils\chen_response.py", line 11, in default - return json.JSONEncoder.default(self, obj) - ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\encoder.py", line 182, in default - raise TypeError(f'Object of type {o.__class__.__name__} ' - f'is not JSON serializable') -TypeError: Object of type ProjectSoftSummary is not JSON serializable -[ERROR][2026-02-02 16:26:31,859][log.py:249]Internal Server Error: /api/testmanage/project/get_soft_summary/ -[WARNING][2026-02-02 16:26:54,834][operation.py:131]"GET - ProjectController[get_soft_summary] /api/testmanage/project/get_soft_summary/" ('Object of type QuerySet is not JSON serializable',) -[ERROR][2026-02-02 16:26:54,835][errors.py:131]Object of type QuerySet is not JSON serializable -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\project.py", line 308, in get_soft_summary - return ChenResponse(status=200, code=25001, data=soft_summary.data_schemas.all()) - File "E:\pycharmProjects\cdtestplant_v1\utils\chen_response.py", line 25, in __init__ - data = json.dumps(std_data, cls=DateEncoder) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\__init__.py", line 242, in dumps - **kw).encode(obj) - ~~~~~~^^^^^ - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\encoder.py", line 202, in encode - chunks = self.iterencode(o, _one_shot=True) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\encoder.py", line 263, in iterencode - return _iterencode(o, 0) - File "E:\pycharmProjects\cdtestplant_v1\utils\chen_response.py", line 11, in default - return json.JSONEncoder.default(self, obj) - ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\encoder.py", line 182, in default - raise TypeError(f'Object of type {o.__class__.__name__} ' - f'is not JSON serializable') -TypeError: Object of type QuerySet is not JSON serializable -[ERROR][2026-02-02 16:26:54,848][log.py:249]Internal Server Error: /api/testmanage/project/get_soft_summary/ -[WARNING][2026-02-02 16:27:38,867][operation.py:131]"GET - ProjectController[get_soft_summary] /api/testmanage/project/get_soft_summary/" ('Object of type StuctSortData is not JSON serializable',) -[ERROR][2026-02-02 16:27:38,867][errors.py:131]Object of type StuctSortData is not JSON serializable -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\project.py", line 308, in get_soft_summary - return ChenResponse(status=200, code=25001, data=list(soft_summary.data_schemas.all())) - File "E:\pycharmProjects\cdtestplant_v1\utils\chen_response.py", line 25, in __init__ - data = json.dumps(std_data, cls=DateEncoder) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\__init__.py", line 242, in dumps - **kw).encode(obj) - ~~~~~~^^^^^ - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\encoder.py", line 202, in encode - chunks = self.iterencode(o, _one_shot=True) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\encoder.py", line 263, in iterencode - return _iterencode(o, 0) - File "E:\pycharmProjects\cdtestplant_v1\utils\chen_response.py", line 11, in default - return json.JSONEncoder.default(self, obj) - ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\encoder.py", line 182, in default - raise TypeError(f'Object of type {o.__class__.__name__} ' - f'is not JSON serializable') -TypeError: Object of type StuctSortData is not JSON serializable -[ERROR][2026-02-02 16:27:38,875][log.py:249]Internal Server Error: /api/testmanage/project/get_soft_summary/ -[WARNING][2026-02-02 16:29:47,390][operation.py:131]"GET - ProjectController[get_soft_summary] /api/testmanage/project/get_soft_summary/" ('Object of type QuerySet is not JSON serializable',) -[ERROR][2026-02-02 16:29:47,390][errors.py:131]Object of type QuerySet is not JSON serializable -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\project.py", line 308, in get_soft_summary - return ChenResponse(status=200, code=25001, data=soft_summary.data_schemas.all()) - File "E:\pycharmProjects\cdtestplant_v1\utils\chen_response.py", line 25, in __init__ - data = json.dumps(std_data, cls=DateEncoder) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\__init__.py", line 242, in dumps - **kw).encode(obj) - ~~~~~~^^^^^ - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\encoder.py", line 202, in encode - chunks = self.iterencode(o, _one_shot=True) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\encoder.py", line 263, in iterencode - return _iterencode(o, 0) - File "E:\pycharmProjects\cdtestplant_v1\utils\chen_response.py", line 11, in default - return json.JSONEncoder.default(self, obj) - ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\encoder.py", line 182, in default - raise TypeError(f'Object of type {o.__class__.__name__} ' - f'is not JSON serializable') -TypeError: Object of type QuerySet is not JSON serializable -[ERROR][2026-02-02 16:29:47,399][log.py:249]Internal Server Error: /api/testmanage/project/get_soft_summary/ -[WARNING][2026-02-02 16:30:12,679][operation.py:131]"GET - ProjectController[get_soft_summary] /api/testmanage/project/get_soft_summary/" ('Object of type StuctSortData is not JSON serializable',) -[ERROR][2026-02-02 16:30:12,679][errors.py:131]Object of type StuctSortData is not JSON serializable -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\project.py", line 308, in get_soft_summary - return ChenResponse(status=200, code=25001, data=list(soft_summary.data_schemas.all())) - File "E:\pycharmProjects\cdtestplant_v1\utils\chen_response.py", line 25, in __init__ - data = json.dumps(std_data, cls=DateEncoder) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\__init__.py", line 242, in dumps - **kw).encode(obj) - ~~~~~~^^^^^ - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\encoder.py", line 202, in encode - chunks = self.iterencode(o, _one_shot=True) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\encoder.py", line 263, in iterencode - return _iterencode(o, 0) - File "E:\pycharmProjects\cdtestplant_v1\utils\chen_response.py", line 11, in default - return json.JSONEncoder.default(self, obj) - ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\encoder.py", line 182, in default - raise TypeError(f'Object of type {o.__class__.__name__} ' - f'is not JSON serializable') -TypeError: Object of type StuctSortData is not JSON serializable -[ERROR][2026-02-02 16:30:12,684][log.py:249]Internal Server Error: /api/testmanage/project/get_soft_summary/ -[WARNING][2026-02-03 09:38:03,966][log.py:249]Unauthorized: /api/system/getInfo -[WARNING][2026-02-03 09:38:04,044][log.py:249]Unauthorized: /api/system/logout -[WARNING][2026-02-03 09:38:09,074][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2026-02-03 10:37:41,293][log.py:249]Not Found: /api/testmanage/project/project_info_status/ -[WARNING][2026-02-03 10:37:48,403][log.py:249]Not Found: /api/testmanage/project/project_info_status/ -[WARNING][2026-02-03 10:38:19,591][log.py:249]Not Found: /api/testmanage/project/project_info_status/ -[WARNING][2026-02-03 10:38:23,503][log.py:249]Not Found: /api/testmanage/project/project_info_status/ -[WARNING][2026-02-03 10:38:26,111][log.py:249]Not Found: /api/testmanage/project/project_info_status/ -[WARNING][2026-02-03 13:54:28,018][operation.py:131]"GET - GenerateControllerDG[create_softComposition] /api/generate/create/softComposition" (2, 'No such file or directory') -[ERROR][2026-02-03 13:54:28,018][errors.py:131][Errno 2] No such file or directory: 'E:\\pycharmProjects\\cdtestplant_v1\\media\\R25999\\form_template\\dg\\测评对象_2.docx' -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 316, in create_softComposition - doc.render(context, autoescape=True) - ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 480, in render - self.render_init() - ~~~~~~~~~~~~~~~~^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 60, in render_init + File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 549, in create_static_hard + subdoc = self.create_table_context(table_data, doc) + File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 462, in create_table_context + subdoc = doc.new_subdoc() + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 619, in new_subdoc self.init_docx() ~~~~~~~~~~~~~~^^ File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 56, in init_docx @@ -2802,531 +282,13 @@ Traceback (most recent call last): File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\zipfile\__init__.py", line 1383, in __init__ self.fp = io.open(file, filemode) ~~~~~~~^^^^^^^^^^^^^^^^ -FileNotFoundError: [Errno 2] No such file or directory: 'E:\\pycharmProjects\\cdtestplant_v1\\media\\R25999\\form_template\\dg\\测评对象_2.docx' -[ERROR][2026-02-03 13:54:28,061][log.py:249]Internal Server Error: /api/generate/create/softComposition -[WARNING][2026-02-03 14:26:54,530][operation.py:131]"GET - GenerateControllerDG[create_softComposition] /api/generate/create/softComposition" ("Encountered unknown tag 'endfor'.",) -[ERROR][2026-02-03 14:26:54,532][errors.py:131]Encountered unknown tag 'endfor'. -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 315, in create_softComposition - doc.render(context) - ~~~~~~~~~~^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 489, in render - xml_src = self.build_xml(context, jinja_env) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 436, in build_xml - xml = self.render_xml_part(xml, self.docx._part, context, jinja_env) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 322, in render_xml_part - raise exc - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 312, in render_xml_part - template = Template(src_xml) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\jinja2\environment.py", line 1214, in __new__ - return env.from_string(source, template_class=cls) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\jinja2\environment.py", line 1111, in from_string - return cls.from_code(self, self.compile(source), gs, None) - ~~~~~~~~~~~~^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\jinja2\environment.py", line 771, in compile - self.handle_exception(source=source_hint) - ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\jinja2\environment.py", line 942, in handle_exception - raise rewrite_traceback_stack(source=source) - File "", line 7, in template -jinja2.exceptions.TemplateSyntaxError: Encountered unknown tag 'endfor'. -[ERROR][2026-02-03 14:26:54,580][log.py:249]Internal Server Error: /api/generate/create/softComposition -[WARNING][2026-02-03 14:27:08,046][operation.py:131]"GET - GenerateControllerDG[create_softComposition] /api/generate/create/softComposition" ("Encountered unknown tag 'endfor'.",) -[ERROR][2026-02-03 14:27:08,046][errors.py:131]Encountered unknown tag 'endfor'. -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 315, in create_softComposition - doc.render(context) - ~~~~~~~~~~^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 489, in render - xml_src = self.build_xml(context, jinja_env) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 436, in build_xml - xml = self.render_xml_part(xml, self.docx._part, context, jinja_env) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 322, in render_xml_part - raise exc - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 312, in render_xml_part - template = Template(src_xml) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\jinja2\environment.py", line 1214, in __new__ - return env.from_string(source, template_class=cls) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\jinja2\environment.py", line 1111, in from_string - return cls.from_code(self, self.compile(source), gs, None) - ~~~~~~~~~~~~^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\jinja2\environment.py", line 771, in compile - self.handle_exception(source=source_hint) - ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\jinja2\environment.py", line 942, in handle_exception - raise rewrite_traceback_stack(source=source) - File "", line 7, in template -jinja2.exceptions.TemplateSyntaxError: Encountered unknown tag 'endfor'. -[ERROR][2026-02-03 14:27:08,053][log.py:249]Internal Server Error: /api/generate/create/softComposition -[WARNING][2026-02-03 14:27:29,619][operation.py:131]"GET - GenerateControllerDG[create_softComposition] /api/generate/create/softComposition" ("Encountered unknown tag 'endfor'.",) -[ERROR][2026-02-03 14:27:29,619][errors.py:131]Encountered unknown tag 'endfor'. -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 315, in create_softComposition - doc.render(context) - ~~~~~~~~~~^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 489, in render - xml_src = self.build_xml(context, jinja_env) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 436, in build_xml - xml = self.render_xml_part(xml, self.docx._part, context, jinja_env) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 322, in render_xml_part - raise exc - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 312, in render_xml_part - template = Template(src_xml) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\jinja2\environment.py", line 1214, in __new__ - return env.from_string(source, template_class=cls) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\jinja2\environment.py", line 1111, in from_string - return cls.from_code(self, self.compile(source), gs, None) - ~~~~~~~~~~~~^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\jinja2\environment.py", line 771, in compile - self.handle_exception(source=source_hint) - ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\jinja2\environment.py", line 942, in handle_exception - raise rewrite_traceback_stack(source=source) - File "", line 7, in template -jinja2.exceptions.TemplateSyntaxError: Encountered unknown tag 'endfor'. -[ERROR][2026-02-03 14:27:29,634][log.py:249]Internal Server Error: /api/generate/create/softComposition -[WARNING][2026-02-03 14:27:42,348][operation.py:131]"GET - GenerateControllerDG[create_softComposition] /api/generate/create/softComposition" ("Encountered unknown tag 'endfor'.",) -[ERROR][2026-02-03 14:27:42,349][errors.py:131]Encountered unknown tag 'endfor'. -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 315, in create_softComposition - doc.render(context) - ~~~~~~~~~~^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 489, in render - xml_src = self.build_xml(context, jinja_env) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 436, in build_xml - xml = self.render_xml_part(xml, self.docx._part, context, jinja_env) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 322, in render_xml_part - raise exc - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 312, in render_xml_part - template = Template(src_xml) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\jinja2\environment.py", line 1214, in __new__ - return env.from_string(source, template_class=cls) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\jinja2\environment.py", line 1111, in from_string - return cls.from_code(self, self.compile(source), gs, None) - ~~~~~~~~~~~~^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\jinja2\environment.py", line 771, in compile - self.handle_exception(source=source_hint) - ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\jinja2\environment.py", line 942, in handle_exception - raise rewrite_traceback_stack(source=source) - File "", line 7, in template -jinja2.exceptions.TemplateSyntaxError: Encountered unknown tag 'endfor'. -[ERROR][2026-02-03 14:27:42,368][log.py:249]Internal Server Error: /api/generate/create/softComposition -[WARNING][2026-02-03 14:28:06,158][operation.py:131]"GET - GenerateControllerDG[create_softComposition] /api/generate/create/softComposition" ("Encountered unknown tag 'endfor'.",) -[ERROR][2026-02-03 14:28:06,159][errors.py:131]Encountered unknown tag 'endfor'. -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 315, in create_softComposition - doc.render(context) - ~~~~~~~~~~^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 489, in render - xml_src = self.build_xml(context, jinja_env) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 436, in build_xml - xml = self.render_xml_part(xml, self.docx._part, context, jinja_env) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 322, in render_xml_part - raise exc - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 312, in render_xml_part - template = Template(src_xml) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\jinja2\environment.py", line 1214, in __new__ - return env.from_string(source, template_class=cls) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\jinja2\environment.py", line 1111, in from_string - return cls.from_code(self, self.compile(source), gs, None) - ~~~~~~~~~~~~^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\jinja2\environment.py", line 771, in compile - self.handle_exception(source=source_hint) - ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\jinja2\environment.py", line 942, in handle_exception - raise rewrite_traceback_stack(source=source) - File "", line 7, in template -jinja2.exceptions.TemplateSyntaxError: Encountered unknown tag 'endfor'. -[ERROR][2026-02-03 14:28:06,177][log.py:249]Internal Server Error: /api/generate/create/softComposition -[WARNING][2026-02-03 14:28:12,615][operation.py:131]"GET - GenerateControllerDG[create_softComposition] /api/generate/create/softComposition" ("Encountered unknown tag 'endfor'.",) -[ERROR][2026-02-03 14:28:12,615][errors.py:131]Encountered unknown tag 'endfor'. -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 315, in create_softComposition - doc.render(context) - ~~~~~~~~~~^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 489, in render - xml_src = self.build_xml(context, jinja_env) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 436, in build_xml - xml = self.render_xml_part(xml, self.docx._part, context, jinja_env) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 322, in render_xml_part - raise exc - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 312, in render_xml_part - template = Template(src_xml) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\jinja2\environment.py", line 1214, in __new__ - return env.from_string(source, template_class=cls) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\jinja2\environment.py", line 1111, in from_string - return cls.from_code(self, self.compile(source), gs, None) - ~~~~~~~~~~~~^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\jinja2\environment.py", line 771, in compile - self.handle_exception(source=source_hint) - ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\jinja2\environment.py", line 942, in handle_exception - raise rewrite_traceback_stack(source=source) - File "", line 7, in template -jinja2.exceptions.TemplateSyntaxError: Encountered unknown tag 'endfor'. -[ERROR][2026-02-03 14:28:12,636][log.py:249]Internal Server Error: /api/generate/create/softComposition -[WARNING][2026-02-03 14:36:12,071][operation.py:131]"GET - GenerateControllerDG[create_softComposition] /api/generate/create/softComposition" ("Encountered unknown tag 'tr'. Jinja was looking for the following tags: 'elif' or 'else' or 'endif'. The innermost block that needs to be closed is 'if'.",) -[ERROR][2026-02-03 14:36:12,071][errors.py:131]Encountered unknown tag 'tr'. Jinja was looking for the following tags: 'elif' or 'else' or 'endif'. The innermost block that needs to be closed is 'if'. -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 315, in create_softComposition - doc.render(context) - ~~~~~~~~~~^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 489, in render - xml_src = self.build_xml(context, jinja_env) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 436, in build_xml - xml = self.render_xml_part(xml, self.docx._part, context, jinja_env) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 322, in render_xml_part - raise exc - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 312, in render_xml_part - template = Template(src_xml) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\jinja2\environment.py", line 1214, in __new__ - return env.from_string(source, template_class=cls) - ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\jinja2\environment.py", line 1111, in from_string - return cls.from_code(self, self.compile(source), gs, None) - ~~~~~~~~~~~~^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\jinja2\environment.py", line 771, in compile - self.handle_exception(source=source_hint) - ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\jinja2\environment.py", line 942, in handle_exception - raise rewrite_traceback_stack(source=source) - File "", line 4, in template -jinja2.exceptions.TemplateSyntaxError: Encountered unknown tag 'tr'. Jinja was looking for the following tags: 'elif' or 'else' or 'endif'. The innermost block that needs to be closed is 'if'. -[ERROR][2026-02-03 14:36:12,117][log.py:249]Internal Server Error: /api/generate/create/softComposition -[WARNING][2026-02-03 15:01:08,760][operation.py:131]"GET - GenerateControllerDG[create_softComposition] /api/generate/create/softComposition" ("No module named 'docxcompose'",) -[ERROR][2026-02-03 15:01:08,761][errors.py:131]No module named 'docxcompose' -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 308, in create_softComposition - subdoc = doc.new_subdoc() - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\template.py", line 617, in new_subdoc - from .subdoc import Subdoc - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docxtpl\subdoc.py", line 11, in - from docxcompose.properties import CustomProperties -ModuleNotFoundError: No module named 'docxcompose' -[ERROR][2026-02-03 15:01:08,764][log.py:249]Internal Server Error: /api/generate/create/softComposition -[WARNING][2026-02-03 15:15:47,401][operation.py:131]"GET - GenerateControllerDG[create_softComposition] /api/generate/create/softComposition" ("no style with name 'outertable'",) -[ERROR][2026-02-03 15:15:47,401][errors.py:131]"no style with name 'outertable'" -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 314, in create_softComposition - table = subdoc.add_table(rows=rows, cols=cols, style='outertable') - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\document.py", line 157, in add_table - table.style = style - ^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\table.py", line 137, in style - style_id = self.part.get_style_id(style_or_name, WD_STYLE_TYPE.TABLE) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\parts\document.py", line 87, in get_style_id - return self.styles.get_style_id(style_or_name, style_type) - ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\styles\styles.py", line 98, in get_style_id - return self._get_style_id_from_name(style_or_name, style_type) - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\styles\styles.py", line 125, in _get_style_id_from_name - return self._get_style_id_from_style(self[style_name], style_type) - ~~~~^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\styles\styles.py", line 47, in __getitem__ - raise KeyError("no style with name '%s'" % key) -KeyError: "no style with name 'outertable'" -[ERROR][2026-02-03 15:15:47,430][log.py:249]Internal Server Error: /api/generate/create/softComposition -[WARNING][2026-02-03 15:32:08,488][operation.py:131]"GET - GenerateControllerDG[create_softComposition] /api/generate/create/softComposition" ("Table.cell() got an unexpected keyword argument 'row'",) -[ERROR][2026-02-03 15:32:08,488][errors.py:131]Table.cell() got an unexpected keyword argument 'row' -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 319, in create_softComposition - cell = table.cell(row=row, column=col) -TypeError: Table.cell() got an unexpected keyword argument 'row' -[ERROR][2026-02-03 15:32:08,493][log.py:249]Internal Server Error: /api/generate/create/softComposition -[WARNING][2026-02-03 15:55:25,723][operation.py:131]"GET - GenerateControllerDG[create_softComposition] /api/generate/create/softComposition" ("int() argument must be a string, a bytes-like object or a real number, not 'NoneType'",) -[ERROR][2026-02-03 15:55:25,723][errors.py:131]int() argument must be a string, a bytes-like object or a real number, not 'NoneType' -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 327, in create_softComposition - cell.width = None - ^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\table.py", line 311, in width - self._tc.width = value - ^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\oxml\table.py", line 565, in width - tcPr.width = value - ^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\oxml\table.py", line 889, in width - tcW.width = value - ^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\oxml\table.py", line 418, in width - self.w = Emu(value).twips - ~~~^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\docx\shared.py", line 94, in __new__ - return Length.__new__(cls, int(emu)) - ~~~^^^^^ -TypeError: int() argument must be a string, a bytes-like object or a real number, not 'NoneType' -[ERROR][2026-02-03 15:55:25,751][log.py:249]Internal Server Error: /api/generate/create/softComposition -[WARNING][2026-02-03 16:01:04,826][operation.py:131]"GET - GenerateControllerDG[create_softComposition] /api/generate/create/softComposition" ("'Table' object has no attribute 'allow_autofit'",) -[ERROR][2026-02-03 16:01:04,826][errors.py:131]'Table' object has no attribute 'allow_autofit' -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 327, in create_softComposition - print(table.allow_autofit) - ^^^^^^^^^^^^^^^^^^^ -AttributeError: 'Table' object has no attribute 'allow_autofit' -[ERROR][2026-02-03 16:01:04,871][log.py:249]Internal Server Error: /api/generate/create/softComposition -[WARNING][2026-02-03 16:08:40,814][operation.py:131]"GET - GenerateControllerDG[create_softComposition] /api/generate/create/softComposition" ("'_Cell' object has no attribute 'font'",) -[ERROR][2026-02-03 16:08:40,815][errors.py:131]'_Cell' object has no attribute 'font' -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 325, in create_softComposition - cell.font.bold = True - ^^^^^^^^^ -AttributeError: '_Cell' object has no attribute 'font' -[ERROR][2026-02-03 16:08:40,818][log.py:249]Internal Server Error: /api/generate/create/softComposition -[WARNING][2026-02-03 16:10:37,247][operation.py:131]"GET - GenerateControllerDG[create_softComposition] /api/generate/create/softComposition" ("'_Cell' object has no attribute 'font'",) -[ERROR][2026-02-03 16:10:37,248][errors.py:131]'_Cell' object has no attribute 'font' -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 325, in create_softComposition - cell.font.bold = True - ^^^^^^^^^ -AttributeError: '_Cell' object has no attribute 'font' -[ERROR][2026-02-03 16:10:37,250][log.py:249]Internal Server Error: /api/generate/create/softComposition -[WARNING][2026-02-03 16:10:57,505][operation.py:131]"GET - GenerateControllerDG[create_softComposition] /api/generate/create/softComposition" ("'_Cell' object has no attribute 'font'",) -[ERROR][2026-02-03 16:10:57,505][errors.py:131]'_Cell' object has no attribute 'font' -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 325, in create_softComposition - cell.font.bold = True - ^^^^^^^^^ -AttributeError: '_Cell' object has no attribute 'font' -[ERROR][2026-02-03 16:10:57,509][log.py:249]Internal Server Error: /api/generate/create/softComposition -[WARNING][2026-02-03 16:12:30,953][operation.py:131]"GET - GenerateControllerDG[create_softComposition] /api/generate/create/softComposition" ("'_Cell' object has no attribute 'font'",) -[ERROR][2026-02-03 16:12:30,954][errors.py:131]'_Cell' object has no attribute 'font' -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 325, in create_softComposition - cell.font.bold = True - ^^^^^^^^^ -AttributeError: '_Cell' object has no attribute 'font' -[ERROR][2026-02-03 16:12:30,959][log.py:249]Internal Server Error: /api/generate/create/softComposition -[WARNING][2026-02-03 16:18:12,617][operation.py:131]"GET - GenerateControllerDG[create_softComposition] /api/generate/create/softComposition" ("'_Cell' object has no attribute 'font'",) -[ERROR][2026-02-03 16:18:12,618][errors.py:131]'_Cell' object has no attribute 'font' -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py", line 325, in create_softComposition - cell.font.bold = True - ^^^^^^^^^ -AttributeError: '_Cell' object has no attribute 'font' -[ERROR][2026-02-03 16:18:12,624][log.py:249]Internal Server Error: /api/generate/create/softComposition -[WARNING][2026-02-04 09:41:30,642][log.py:249]Unauthorized: /api/system/getInfo -[WARNING][2026-02-04 09:41:30,660][log.py:249]Unauthorized: /api/system/logout -[WARNING][2026-02-04 09:41:34,553][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) -[WARNING][2026-02-04 10:19:25,435][log.py:249]Not Found: /api/testmanage/project/interface_image/ -[WARNING][2026-02-04 10:19:29,221][log.py:249]Not Found: /api/testmanage/project/interface_image/ -[WARNING][2026-02-04 10:19:33,110][log.py:249]Not Found: /api/testmanage/project/interface_image/ -[WARNING][2026-02-04 10:20:00,798][log.py:249]Not Found: /api/testmanage/project/interface_image/ -[WARNING][2026-02-04 10:20:18,071][log.py:249]Not Found: /api/testmanage/project/interface_image/ -[WARNING][2026-02-04 10:20:56,170][operation.py:131]"POST - ProjectController[post_interface_image] /api/testmanage/project/interface_image/" ([{'type': 'missing', 'loc': ('body', 'dataSchema', 'content'), 'msg': 'Field required'}],) -[WARNING][2026-02-04 10:20:56,188][log.py:249]Unprocessable Content: /api/testmanage/project/interface_image/ -[WARNING][2026-02-04 10:21:58,126][operation.py:131]"POST - ProjectController[post_interface_image] /api/testmanage/project/interface_image/" ([{'type': 'missing', 'loc': ('body', 'dataSchema', 'content'), 'msg': 'Field required'}],) -[WARNING][2026-02-04 10:21:58,138][log.py:249]Unprocessable Content: /api/testmanage/project/interface_image/ -[WARNING][2026-02-04 10:32:05,597][operation.py:131]"POST - ProjectController[post_interface_image] /api/testmanage/project/interface_image/" ('Project has no data_schemas.',) -[ERROR][2026-02-04 10:32:05,597][errors.py:131]Project has no data_schemas. -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\project.py", line 344, in post_interface_image - image_qs = project_obj.data_schemas - ^^^^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\fields\related_descriptors.py", line 520, in __get__ - raise self.RelatedObjectDoesNotExist( - ...<2 lines>... - ) -apps.project.models.Project.data_schemas.RelatedObjectDoesNotExist: Project has no data_schemas. -[ERROR][2026-02-04 10:32:05,606][log.py:249]Internal Server Error: /api/testmanage/project/interface_image/ -[WARNING][2026-02-04 10:32:48,393][operation.py:131]"POST - ProjectController[post_interface_image] /api/testmanage/project/interface_image/" ('Project has no data_schemas.',) -[ERROR][2026-02-04 10:32:48,393][errors.py:131]Project has no data_schemas. -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\project.py", line 344, in post_interface_image - image_qs = project_obj.data_schemas - ^^^^^^^^^^^^^^^^^^^^^^^^ - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\fields\related_descriptors.py", line 520, in __get__ - raise self.RelatedObjectDoesNotExist( - ...<2 lines>... - ) -apps.project.models.Project.data_schemas.RelatedObjectDoesNotExist: Project has no data_schemas. -[ERROR][2026-02-04 10:32:48,397][log.py:249]Internal Server Error: /api/testmanage/project/interface_image/ -[WARNING][2026-02-04 11:11:57,422][operation.py:131]"GET - ProjectController[get_interface_image] /api/testmanage/project/get_interface_image/" ('Object of type StuctSortData is not JSON serializable',) -[ERROR][2026-02-04 11:11:57,423][errors.py:131]Object of type StuctSortData is not JSON serializable -Traceback (most recent call last): - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 212, in run - result = self.view_func(request, **ctx.kwargs["view_func_kwargs"]) - File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\controllers\route\route_functions.py", line 108, in as_view - result = self.route.view_func( - ctx.controller_instance, *args, **ctx.view_func_kwargs - ) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\contextlib.py", line 85, in inner - return func(*args, **kwds) - File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\project.py", line 372, in get_interface_image - return ChenResponse(status=200, code=25001, data=image_obj) - File "E:\pycharmProjects\cdtestplant_v1\utils\chen_response.py", line 25, in __init__ - data = json.dumps(std_data, cls=DateEncoder) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\__init__.py", line 242, in dumps - **kw).encode(obj) - ~~~~~~^^^^^ - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\encoder.py", line 202, in encode - chunks = self.iterencode(o, _one_shot=True) - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\encoder.py", line 263, in iterencode - return _iterencode(o, 0) - File "E:\pycharmProjects\cdtestplant_v1\utils\chen_response.py", line 11, in default - return json.JSONEncoder.default(self, obj) - ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ - File "D:\programs\uv\python\cpython-3.13.11-windows-x86_64-none\Lib\json\encoder.py", line 182, in default - raise TypeError(f'Object of type {o.__class__.__name__} ' - f'is not JSON serializable') -TypeError: Object of type StuctSortData is not JSON serializable -[ERROR][2026-02-04 11:11:57,431][log.py:249]Internal Server Error: /api/testmanage/project/get_interface_image/ +FileNotFoundError: [Errno 2] No such file or directory: 'E:\\pycharmProjects\\cdtestplant_v1\\media\\R25999\\form_template\\dg\\静态硬件和固件项_2.docx' +[ERROR][2026-02-05 17:13:56,400][log.py:249]Internal Server Error: /api/generate/create/static_hard +[WARNING][2026-02-05 18:18:25,422][operation.py:131]"POST - ProjectController[soft_summary] /api/testmanage/project/soft_summary/" ([{'type': 'missing', 'loc': ('body', 'payload', 'id'), 'msg': 'Field required'}, {'type': 'missing', 'loc': ('body', 'payload', 'data'), 'msg': 'Field required'}],) +[WARNING][2026-02-05 18:18:25,431][log.py:249]Unprocessable Content: /api/testmanage/project/soft_summary/ +[WARNING][2026-02-05 18:18:34,561][operation.py:131]"POST - ProjectController[soft_summary] /api/testmanage/project/soft_summary/" ([{'type': 'missing', 'loc': ('body', 'payload', 'id'), 'msg': 'Field required'}, {'type': 'missing', 'loc': ('body', 'payload', 'data'), 'msg': 'Field required'}],) +[WARNING][2026-02-05 18:18:34,571][log.py:249]Unprocessable Content: /api/testmanage/project/soft_summary/ +[WARNING][2026-02-05 18:19:31,551][operation.py:131]"POST - ProjectController[soft_summary] /api/testmanage/project/soft_summary/" ([{'type': 'missing', 'loc': ('body', 'payload', 'id'), 'msg': 'Field required'}, {'type': 'missing', 'loc': ('body', 'payload', 'data'), 'msg': 'Field required'}],) +[WARNING][2026-02-05 18:19:31,559][log.py:249]Unprocessable Content: /api/testmanage/project/soft_summary/ +[WARNING][2026-02-05 18:20:01,886][operation.py:131]"POST - ProjectController[soft_summary] /api/testmanage/project/soft_summary/" ([{'type': 'missing', 'loc': ('body', 'payload', 'id'), 'msg': 'Field required'}, {'type': 'missing', 'loc': ('body', 'payload', 'data'), 'msg': 'Field required'}],) +[WARNING][2026-02-05 18:20:01,896][log.py:249]Unprocessable Content: /api/testmanage/project/soft_summary/ diff --git a/media/R25999/final_seitai/测评大纲.docx b/media/R25999/final_seitai/测评大纲.docx index acb2fa1..a2cd2d3 100644 Binary files a/media/R25999/final_seitai/测评大纲.docx and b/media/R25999/final_seitai/测评大纲.docx differ diff --git a/media/R25999/form_template/dg/动态硬件和固件项_2.docx b/media/R25999/form_template/dg/动态硬件和固件项_2.docx new file mode 100644 index 0000000..19832a8 Binary files /dev/null and b/media/R25999/form_template/dg/动态硬件和固件项_2.docx differ diff --git a/media/R25999/form_template/dg/动态软件项_2.docx b/media/R25999/form_template/dg/动态软件项_2.docx new file mode 100644 index 0000000..4ad5ea2 Binary files /dev/null and b/media/R25999/form_template/dg/动态软件项_2.docx differ diff --git a/media/R25999/form_template/dg/静态硬件和固件项_2.docx b/media/R25999/form_template/dg/静态硬件和固件项_2.docx new file mode 100644 index 0000000..2d3257b Binary files /dev/null and b/media/R25999/form_template/dg/静态硬件和固件项_2.docx differ diff --git a/media/R25999/form_template/dg/静态软件项_2.docx b/media/R25999/form_template/dg/静态软件项_2.docx new file mode 100644 index 0000000..9701aeb Binary files /dev/null and b/media/R25999/form_template/dg/静态软件项_2.docx differ diff --git a/media/R25999/output_dir/主要功能和性能指标.docx b/media/R25999/output_dir/主要功能和性能指标.docx index 448b3a9..5999f6e 100644 Binary files a/media/R25999/output_dir/主要功能和性能指标.docx and b/media/R25999/output_dir/主要功能和性能指标.docx differ diff --git a/media/R25999/output_dir/代码质量度量分析表.docx b/media/R25999/output_dir/代码质量度量分析表.docx index e935a9b..dc2d6bd 100644 Binary files a/media/R25999/output_dir/代码质量度量分析表.docx and b/media/R25999/output_dir/代码质量度量分析表.docx differ diff --git a/media/R25999/output_dir/动态测试环境说明.docx b/media/R25999/output_dir/动态测试环境说明.docx index e46665b..df7c453 100644 Binary files a/media/R25999/output_dir/动态测试环境说明.docx and b/media/R25999/output_dir/动态测试环境说明.docx differ diff --git a/media/R25999/output_dir/动态硬件和固件项.docx b/media/R25999/output_dir/动态硬件和固件项.docx index 5ec0dca..9483809 100644 Binary files a/media/R25999/output_dir/动态硬件和固件项.docx and b/media/R25999/output_dir/动态硬件和固件项.docx differ diff --git a/media/R25999/output_dir/动态软件项.docx b/media/R25999/output_dir/动态软件项.docx index ac87f15..66afa77 100644 Binary files a/media/R25999/output_dir/动态软件项.docx and b/media/R25999/output_dir/动态软件项.docx differ diff --git a/media/R25999/output_dir/反向需求规格追踪表.docx b/media/R25999/output_dir/反向需求规格追踪表.docx index 2273a25..2dbf816 100644 Binary files a/media/R25999/output_dir/反向需求规格追踪表.docx and b/media/R25999/output_dir/反向需求规格追踪表.docx differ diff --git a/media/R25999/output_dir/技术依据文件.docx b/media/R25999/output_dir/技术依据文件.docx index 014ada5..b6a3760 100644 Binary files a/media/R25999/output_dir/技术依据文件.docx and b/media/R25999/output_dir/技术依据文件.docx differ diff --git a/media/R25999/output_dir/标准依据文件.docx b/media/R25999/output_dir/标准依据文件.docx index 90407e0..acf990f 100644 Binary files a/media/R25999/output_dir/标准依据文件.docx and b/media/R25999/output_dir/标准依据文件.docx differ diff --git a/media/R25999/output_dir/测评对象.docx b/media/R25999/output_dir/测评对象.docx index 2174dac..ca076d1 100644 Binary files a/media/R25999/output_dir/测评对象.docx and b/media/R25999/output_dir/测评对象.docx differ diff --git a/media/R25999/output_dir/测评数据.docx b/media/R25999/output_dir/测评数据.docx index bcba0e3..f5beac8 100644 Binary files a/media/R25999/output_dir/测评数据.docx and b/media/R25999/output_dir/测评数据.docx differ diff --git a/media/R25999/output_dir/测评时间和地点.docx b/media/R25999/output_dir/测评时间和地点.docx index f22c845..8cfe5d3 100644 Binary files a/media/R25999/output_dir/测评时间和地点.docx and b/media/R25999/output_dir/测评时间和地点.docx differ diff --git a/media/R25999/output_dir/测评条件保障.docx b/media/R25999/output_dir/测评条件保障.docx index 22e9e6c..e50f040 100644 Binary files a/media/R25999/output_dir/测评条件保障.docx and b/media/R25999/output_dir/测评条件保障.docx differ diff --git a/media/R25999/output_dir/测评组织及任务分工.docx b/media/R25999/output_dir/测评组织及任务分工.docx index 3998272..438448b 100644 Binary files a/media/R25999/output_dir/测评组织及任务分工.docx and b/media/R25999/output_dir/测评组织及任务分工.docx differ diff --git a/media/R25999/output_dir/测试内容充分性及测试方法有效性分析.docx b/media/R25999/output_dir/测试内容充分性及测试方法有效性分析.docx index 985a870..c3554c8 100644 Binary files a/media/R25999/output_dir/测试内容充分性及测试方法有效性分析.docx and b/media/R25999/output_dir/测试内容充分性及测试方法有效性分析.docx differ diff --git a/media/R25999/output_dir/测试策略.docx b/media/R25999/output_dir/测试策略.docx index 562dcc8..9091b80 100644 Binary files a/media/R25999/output_dir/测试策略.docx and b/media/R25999/output_dir/测试策略.docx differ diff --git a/media/R25999/output_dir/测试级别和测试类型.docx b/media/R25999/output_dir/测试级别和测试类型.docx index 32f0f1e..6abf7b7 100644 Binary files a/media/R25999/output_dir/测试级别和测试类型.docx and b/media/R25999/output_dir/测试级别和测试类型.docx differ diff --git a/media/R25999/output_dir/测试项及方法.docx b/media/R25999/output_dir/测试项及方法.docx index 5005470..a9b6a25 100644 Binary files a/media/R25999/output_dir/测试项及方法.docx and b/media/R25999/output_dir/测试项及方法.docx differ diff --git a/media/R25999/output_dir/环境差异性分析.docx b/media/R25999/output_dir/环境差异性分析.docx index 83f5701..16e3a21 100644 Binary files a/media/R25999/output_dir/环境差异性分析.docx and b/media/R25999/output_dir/环境差异性分析.docx differ diff --git a/media/R25999/output_dir/研制总要求追踪表.docx b/media/R25999/output_dir/研制总要求追踪表.docx index a21ddcc..37268b8 100644 Binary files a/media/R25999/output_dir/研制总要求追踪表.docx and b/media/R25999/output_dir/研制总要求追踪表.docx differ diff --git a/media/R25999/output_dir/缩略语.docx b/media/R25999/output_dir/缩略语.docx index 2df24a3..0a24fcf 100644 Binary files a/media/R25999/output_dir/缩略语.docx and b/media/R25999/output_dir/缩略语.docx differ diff --git a/media/R25999/output_dir/联系人和方式.docx b/media/R25999/output_dir/联系人和方式.docx index 6636cb9..9ce06a1 100644 Binary files a/media/R25999/output_dir/联系人和方式.docx and b/media/R25999/output_dir/联系人和方式.docx differ diff --git a/media/R25999/output_dir/被测软件基本信息.docx b/media/R25999/output_dir/被测软件基本信息.docx index fd38c76..251367d 100644 Binary files a/media/R25999/output_dir/被测软件基本信息.docx and b/media/R25999/output_dir/被测软件基本信息.docx differ diff --git a/media/R25999/output_dir/被测软件接口.docx b/media/R25999/output_dir/被测软件接口.docx index b218093..f7f9253 100644 Binary files a/media/R25999/output_dir/被测软件接口.docx and b/media/R25999/output_dir/被测软件接口.docx differ diff --git a/media/R25999/output_dir/需求规格说明追踪表.docx b/media/R25999/output_dir/需求规格说明追踪表.docx index 39a952c..79b6c54 100644 Binary files a/media/R25999/output_dir/需求规格说明追踪表.docx and b/media/R25999/output_dir/需求规格说明追踪表.docx differ diff --git a/media/R25999/output_dir/静态测试环境说明.docx b/media/R25999/output_dir/静态测试环境说明.docx index 03e6083..b18cf58 100644 Binary files a/media/R25999/output_dir/静态测试环境说明.docx and b/media/R25999/output_dir/静态测试环境说明.docx differ diff --git a/media/R25999/output_dir/静态硬件和固件项.docx b/media/R25999/output_dir/静态硬件和固件项.docx index 73362ac..5a5ddda 100644 Binary files a/media/R25999/output_dir/静态硬件和固件项.docx and b/media/R25999/output_dir/静态硬件和固件项.docx differ diff --git a/media/R25999/output_dir/静态软件项.docx b/media/R25999/output_dir/静态软件项.docx index df5b45a..a9eadc0 100644 Binary files a/media/R25999/output_dir/静态软件项.docx and b/media/R25999/output_dir/静态软件项.docx differ diff --git a/media/R25999/output_dir/顶层技术文件.docx b/media/R25999/output_dir/顶层技术文件.docx index 20f2ece..ccef0c2 100644 Binary files a/media/R25999/output_dir/顶层技术文件.docx and b/media/R25999/output_dir/顶层技术文件.docx differ diff --git a/media/R25999/temp/测评大纲.docx b/media/R25999/temp/测评大纲.docx index 98c9784..d547573 100644 Binary files a/media/R25999/temp/测评大纲.docx and b/media/R25999/temp/测评大纲.docx differ diff --git a/pyproject.toml b/pyproject.toml index 23c392d..8179d2b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,6 +29,7 @@ dependencies = [ "python-ldap", "ua-parser-builtins>=202601", "user-agents>=2.2.0", + "waitress>=3.0.2", ] [tool.uv.sources] diff --git a/uv.lock b/uv.lock index 66917f3..c388509 100644 --- a/uv.lock +++ b/uv.lock @@ -94,6 +94,7 @@ dependencies = [ { name = "python-ldap" }, { name = "ua-parser-builtins" }, { name = "user-agents" }, + { name = "waitress" }, ] [package.metadata] @@ -122,6 +123,7 @@ requires-dist = [ { name = "python-ldap", path = "python_ldap-3.4.5-cp313-cp313-win_amd64.whl" }, { name = "ua-parser-builtins", specifier = ">=202601" }, { name = "user-agents", specifier = ">=2.2.0" }, + { name = "waitress", specifier = ">=3.0.2" }, ] [[package]] @@ -1196,6 +1198,15 @@ wheels = [ { url = "https://mirrors.aliyun.com/pypi/packages/8f/1c/20bb3d7b2bad56d881e3704131ddedbb16eb787101306887dff349064662/user_agents-2.2.0-py3-none-any.whl", hash = "sha256:a98c4dc72ecbc64812c4534108806fb0a0b3a11ec3fd1eafe807cee5b0a942e7" }, ] +[[package]] +name = "waitress" +version = "3.0.2" +source = { registry = "https://mirrors.aliyun.com/pypi/simple" } +sdist = { url = "https://mirrors.aliyun.com/pypi/packages/bf/cb/04ddb054f45faa306a230769e868c28b8065ea196891f09004ebace5b184/waitress-3.0.2.tar.gz", hash = "sha256:682aaaf2af0c44ada4abfb70ded36393f0e307f4ab9456a215ce0020baefc31f" } +wheels = [ + { url = "https://mirrors.aliyun.com/pypi/packages/8d/57/a27182528c90ef38d82b636a11f606b0cbb0e17588ed205435f8affe3368/waitress-3.0.2-py3-none-any.whl", hash = "sha256:c56d67fd6e87c2ee598b76abdd4e96cfad1f24cacdea5078d382b1f9d7b5ed2e" }, +] + [[package]] name = "wcwidth" version = "0.5.3"