diff --git a/apps/project/controllers/__pycache__/case.cpython-313.pyc b/apps/project/controllers/__pycache__/case.cpython-313.pyc index d582b52..9b00671 100644 Binary files a/apps/project/controllers/__pycache__/case.cpython-313.pyc and b/apps/project/controllers/__pycache__/case.cpython-313.pyc differ diff --git a/apps/project/controllers/__pycache__/design.cpython-313.pyc b/apps/project/controllers/__pycache__/design.cpython-313.pyc index 5ebe11c..34c6ea5 100644 Binary files a/apps/project/controllers/__pycache__/design.cpython-313.pyc and b/apps/project/controllers/__pycache__/design.cpython-313.pyc differ diff --git a/apps/project/controllers/__pycache__/problem.cpython-313.pyc b/apps/project/controllers/__pycache__/problem.cpython-313.pyc index b9d6154..c65540f 100644 Binary files a/apps/project/controllers/__pycache__/problem.cpython-313.pyc and b/apps/project/controllers/__pycache__/problem.cpython-313.pyc differ diff --git a/apps/project/controllers/case.py b/apps/project/controllers/case.py index b1dcaa3..4114765 100644 --- a/apps/project/controllers/case.py +++ b/apps/project/controllers/case.py @@ -10,6 +10,8 @@ from django.shortcuts import get_object_or_404 from django.db.models.functions import Replace from django.db.models import F, Value from typing import List +from faker import Faker +from datetime import datetime from django.utils import timezone from utils.chen_response import ChenResponse from utils.chen_crud import multi_delete_case @@ -373,6 +375,24 @@ class CaseController(ControllerBase): @route.post("/case/timeReplace/", url_name='case-time-replace') @transaction.atomic def bulk_replace_time(self, payload: ExetimeReplaceSchema): + selected_case_ids = payload.selectRows + if not selected_case_ids: + return ChenResponse(status=500, code=50999, message='未选择行!', data="") + # 随机日期 + start, end = payload.exetime + start_date = datetime.strptime(start, "%Y-%m-%d").date() + end_date = datetime.strptime(end, "%Y-%m-%d").date() + # 更新的case的id列表 + updated_cases = [] # 替换设计人员 case_qs = Case.objects.filter(id__in=payload.selectRows) - case_qs.update(exe_time=payload.exetime) + faker = Faker() + # 逐个更新 + for case in case_qs: + random_date = faker.date_between(start_date=start_date, end_date=end_date) + formatted_date = random_date.strftime("%Y-%m-%d") + case.exe_time = formatted_date + updated_cases.append(case) + Case.objects.bulk_update(updated_cases, ['exe_time']) + return ChenResponse(status=200, code=200, data=len(updated_cases), + message=f"成功更新{len(updated_cases)}个用例执行时间") diff --git a/apps/project/controllers/design.py b/apps/project/controllers/design.py index 0fb913c..0755b33 100644 --- a/apps/project/controllers/design.py +++ b/apps/project/controllers/design.py @@ -1,3 +1,5 @@ +import re +from copy import deepcopy from ninja_extra import api_controller, ControllerBase, route from ninja import Query from ninja_jwt.authentication import JWTAuth @@ -209,3 +211,33 @@ class DesignController(ControllerBase): auto_create_renji(user_name, dut_qs, project_obj) return ChenResponse(status=200, message='自动生成人机界面交互测试成功!', data=dut_qs.key) return ChenResponse(status=402, message='您还未录入需求规格说明文档,请录入后再试') + + # 复制design到当前dut下面接口 + @route.get("/copy_current", url_name='copy-design-current') + @transaction.atomic + def copy_current(self, dut_id: int, design_id: int): + dut_obj = get_object_or_404(Dut, id=dut_id) + design_obj = get_object_or_404(Design, id=design_id) + # 首先查询该dut下design个数,设置为新增设计需求的key末尾 + key_index = dut_obj.rsField.count() + new_design_obj = deepcopy(design_obj) + # 修改新design内容 + new_design_obj.pk = None + new_design_obj.key = "".join([dut_obj.key, "-", str(key_index)]) + new_design_obj.title = "".join([design_obj.title, "(复制)"]) + new_design_obj.name = "".join([design_obj.name, "(复制)"]) + # ident容错,查询是否有拼接的 + current_ident = "".join([new_design_obj.ident, "1"]) + project_obj = dut_obj.project + exit_ident = project_obj.psField.filter(ident=current_ident).exists() + if exit_ident: + match = re.search(r'(\d+)$', current_ident) + if match: + num = int(match.group(1)) + 1 + current_ident = re.sub(r'\d+$', str(num), current_ident) + else: + current_ident = current_ident + "1" + new_design_obj.ident = current_ident + # 最后记得save + new_design_obj.save() + return ChenResponse(status=200, code=200, message='复制当前设计需求成功', data="") diff --git a/apps/project/controllers/problem.py b/apps/project/controllers/problem.py index 295d598..bdf1ad0 100644 --- a/apps/project/controllers/problem.py +++ b/apps/project/controllers/problem.py @@ -35,19 +35,25 @@ class ProblemController(ControllerBase): def get_problem_list(self, data: ProblemFilterSchema = Query(...)): project_id = data.project_id conditionNoneToBlank(data) - case_key = "".join([data.round_id, '-', data.dut_id, '-', data.design_id, '-', data.test_id, '-', data.case_id]) - # 先查询出对应的case - case_obj = Case.objects.filter(project_id=project_id, key=case_key).first() - # 然后进行过滤 - qs = case_obj.caseField.filter(project__id=data.project_id, - ident__icontains=data.ident, - name__icontains=data.name, - status__icontains=data.status, - type__icontains=data.type, - grade__icontains=data.grade, - operation__icontains=data.operation, - postPerson__icontains=data.postPerson, - ).order_by("id") + # 组装查询条件 + query_params = { + "project__id":data.project_id, + "ident__icontains":data.ident, + "name__icontains":data.name, + "status__icontains":data.status, + "type__icontains":data.type, + "grade__icontains":data.grade, + "operation__icontains":data.operation, + "postPerson__icontains":data.postPerson + } + # 如果没有多个key传递则是汇总界面 + if data.dut_id and data.design_id and data.test_id and data.case_id: + case_key = "".join( + [data.round_id, '-', data.dut_id, '-', data.design_id, '-', data.test_id, '-', data.case_id]) + query_params['case__key'] = case_key + else: + query_params['case__round__key'] = data.round_id + qs = Problem.objects.filter(**query_params).order_by("id") # 遍历通过代码不通过ORM查询闭环方式-巧妙使用numpy中array对象的in方法来判断 closeMethod1 = self.context.request.GET.get("closeMethod[0]") @@ -73,9 +79,7 @@ class ProblemController(ControllerBase): @paginate(MyPagination) def get_all_problems(self, round_key: Optional[str] = False, data: ProblemFilterWithHangSchema = Query(...)): project_id = data.project_id - for attr, value in data.__dict__.items(): - if getattr(data, attr) is None: - setattr(data, attr, '') + conditionNoneToBlank(data) # 先查询当前项目 qs = Problem.objects.filter(project__id=data.project_id, ident__icontains=data.ident, diff --git a/apps/project/schemas/__pycache__/case.cpython-313.pyc b/apps/project/schemas/__pycache__/case.cpython-313.pyc index 4c7354a..e5c197c 100644 Binary files a/apps/project/schemas/__pycache__/case.cpython-313.pyc and b/apps/project/schemas/__pycache__/case.cpython-313.pyc differ diff --git a/apps/project/schemas/__pycache__/problem.cpython-313.pyc b/apps/project/schemas/__pycache__/problem.cpython-313.pyc index 27634d5..99cd503 100644 Binary files a/apps/project/schemas/__pycache__/problem.cpython-313.pyc and b/apps/project/schemas/__pycache__/problem.cpython-313.pyc differ diff --git a/apps/project/schemas/case.py b/apps/project/schemas/case.py index 6ad53c8..29878ea 100644 --- a/apps/project/schemas/case.py +++ b/apps/project/schemas/case.py @@ -167,4 +167,4 @@ class PersonReplaceSchema(Schema): # 时间替换Schema class ExetimeReplaceSchema(Schema): selectRows: List[int] = None - exetime: str + exetime: List[str] diff --git a/apps/project/schemas/problem.py b/apps/project/schemas/problem.py index 21a30bf..666cd53 100644 --- a/apps/project/schemas/problem.py +++ b/apps/project/schemas/problem.py @@ -1,3 +1,5 @@ +from pydantic import AliasChoices + from apps.project.models import Problem from ninja import Field, Schema, ModelSchema from typing import List, Optional @@ -59,7 +61,7 @@ class ProblemCreateOutSchema(ModelSchema): # 更新,新增schema class ProblemCreateInputSchema(Schema): - project_id: int = Field(..., alias="projectId") + project_id: int = Field(..., validation_alias=AliasChoices('project_id', 'projectId')) round_key: str = Field(None, alias="round") dut_key: str = Field(None, alias="dut") design_key: str = Field(None, alias="designDemand") diff --git a/logs/root_log b/logs/root_log index 3a41c6e..15c3353 100644 --- a/logs/root_log +++ b/logs/root_log @@ -1546,3 +1546,663 @@ response.0.title [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 +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\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 +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\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` +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\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 +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\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 +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\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' +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 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' +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 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' +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 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' +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 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' +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 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' +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 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' +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 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 diff --git a/requirements.txt b/requirements.txt index 9e1fa91..46335ee 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,12 +1,13 @@ Django~=6.0 django-auth-ldap~=5.2.0 asgiref~=3.11.0 -sqlparse~=0.5.4 +sqlparse~=0.5.5 # 基础包 mysqlclient~=2.2.7 orjson~=3.11.5 lxml~=6.0.2 typing_extensions~=4.15.0 +faker~=39.0.0 # 必须whl安装的包 python-ldap~=3.4.4 # 项目包