diff --git a/apps/project/controllers/__pycache__/case.cpython-313.pyc b/apps/project/controllers/__pycache__/case.cpython-313.pyc index 333f809..38d406f 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 bc09e85..4e579c8 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__/dut.cpython-313.pyc b/apps/project/controllers/__pycache__/dut.cpython-313.pyc index a9039ac..95b6d12 100644 Binary files a/apps/project/controllers/__pycache__/dut.cpython-313.pyc and b/apps/project/controllers/__pycache__/dut.cpython-313.pyc differ diff --git a/apps/project/controllers/__pycache__/testDemand.cpython-313.pyc b/apps/project/controllers/__pycache__/testDemand.cpython-313.pyc index d480ac4..09ab0fd 100644 Binary files a/apps/project/controllers/__pycache__/testDemand.cpython-313.pyc and b/apps/project/controllers/__pycache__/testDemand.cpython-313.pyc differ diff --git a/apps/project/controllers/case.py b/apps/project/controllers/case.py index 2771928..d5bb157 100644 --- a/apps/project/controllers/case.py +++ b/apps/project/controllers/case.py @@ -7,11 +7,14 @@ from ninja.errors import HttpError from utils.chen_pagination import MyPagination from django.db import transaction from django.shortcuts import get_object_or_404 +from django.db.models.functions import Replace +from django.db.models import Q, F, Value from typing import List from utils.chen_response import ChenResponse from utils.chen_crud import multi_delete_case from apps.project.models import Design, Dut, Round, TestDemand, Case, CaseStep, Project, Problem -from apps.project.schemas.case import DeleteSchema, CaseModelOutSchema, CaseFilterSchema, CaseTreeReturnSchema, \ +from apps.project.schemas.case import DeleteSchema, CaseModelOutSchema, CaseFilterSchema, \ + CaseTreeReturnSchema, ReplaceCaseSchema, PersonReplaceSchema, ExetimeReplaceSchema, \ CaseTreeInputSchema, CaseCreateOutSchema, CaseCreateInputSchema, DemandNodeSchema from utils.util import get_testType from utils.codes import HTTP_INDEX_ERROR, HTTP_EXISTS_CASES @@ -35,15 +38,23 @@ class CaseController(ControllerBase): qs = Case.objects.filter(id=case_id) # type:ignore else: conditionNoneToBlank(data) - test_key = "".join([data.round_id, '-', data.dut_id, '-', data.design_id, '-', data.test_id]) - qs = Case.objects.filter(project__id=data.project_id, test__key=test_key, # type:ignore - ident__icontains=data.ident, - name__icontains=data.name, - designPerson__icontains=data.designPerson, - testPerson__icontains=data.testPerson, - monitorPerson__icontains=data.monitorPerson, - summarize__icontains=data.summarize, - ).order_by("key") + query_params = { + 'project__id': data.project_id, + 'ident__icontains': data.ident, + 'name__icontains': data.name, + 'designPerson__icontains': data.designPerson, + 'testPerson__icontains': data.testPerson, + 'monitorPerson__icontains': data.monitorPerson, + 'summarize__icontains': data.summarize + } + # 如果没有多个key则是“那个汇总界面” + if data.dut_id and data.design_id and data.test_id: + test_key = "".join([data.round_id, '-', data.dut_id, '-', data.design_id, '-', data.test_id]) + query_params['test__key'] = test_key + else: + # 汇总界面只查round + query_params['round__key'] = data.round_id + qs = Case.objects.filter(**query_params).order_by("key") # 由于有嵌套query_set存在,把每个用例的schema加上一个字段 query_list = [] for query_single in qs: @@ -54,6 +65,14 @@ class CaseController(ControllerBase): related_problem: Problem = query_single.caseField.first() if query_single.caseField.all(): setattr(query_single, 'problem', related_problem) + # 2025年5月10日在test字段加上testContent + test_obj = query_single.test + sub_list = [] + for step_obj in test_obj.testQField.all(): + setattr(step_obj, "subStep", step_obj.testStepField.all().values()) + sub_list.append(step_obj) + setattr(test_obj, "testContent", sub_list) + setattr(query_single, 'test', test_obj) query_list.append(query_single) return query_list @@ -69,6 +88,17 @@ class CaseController(ControllerBase): return case raise HttpError(500, "您获取的数据不存在") + @route.get("/getCaseOneById", response=CaseModelOutSchemaWithoutProblem, url_name='case-one-by-id') + @transaction.atomic + def get_case_by_id(self, id: int): + """用于在用例树状页面,获取promblem信息,这里根据key获取信息""" + case = Case.objects.filter(id=id).first() + if case: + setattr(case, "testStep", case.step.all().values()) + setattr(case, 'testType', get_testType(case.test.testType, dict_code='testType')) + return case + raise HttpError(500, "您获取的数据不存在") + # 处理树状数据 @route.get("/getCaseInfo", response=List[CaseTreeReturnSchema], url_name="case-info") @transaction.atomic @@ -108,8 +138,9 @@ class CaseController(ControllerBase): # 直接把测试项的标识给前端处理显示 asert_dict['ident'] = test_instance.ident # ~~~~~~~~~end~~~~~~~~~ - asert_dict.update({'key': key_string, 'round': round_instance, 'dut': dut_instance, 'design': design_instance, - "test": test_instance, 'title': payload.name}) + asert_dict.update( + {'key': key_string, 'round': round_instance, 'dut': dut_instance, 'design': design_instance, + "test": test_instance, 'title': payload.name}) asert_dict.pop("round_key") asert_dict.pop("dut_key") asert_dict.pop("design_key") @@ -144,7 +175,8 @@ class CaseController(ControllerBase): content_single.delete() data_list = [] for item in value: - if item['operation'] or item['expect'] or item['result'] or item['passed'] or item['status']: + if item['operation'] or item['expect'] or item['result'] or item['passed'] or item[ + 'status']: item["case"] = case_qs data_list.append(CaseStep(**item)) CaseStep.objects.bulk_create(data_list) # type:ignore @@ -186,7 +218,8 @@ class CaseController(ControllerBase): # 先查询当前测试项下面有无case case_exists = demand.tcField.exists() if case_exists: - return ChenResponse(status=500, code=HTTP_EXISTS_CASES, message='测试项下面有用例,请删除后生成') + return ChenResponse(status=500, code=HTTP_EXISTS_CASES, + message='测试项下面有用例,请删除后生成') # 查询所有测试子项 sub_items = demand.testQField.all() # 每一个子项都创建一个用例,先声明一个列表,后面可以bulk_create @@ -224,7 +257,8 @@ class CaseController(ControllerBase): CaseStep.objects.create(**case_step_dict) # type:ignore index += 1 # 这里返回一个demand的key用于前端刷新树状图 - return ChenResponse(data={'key': demand_node.key}, status=200, code=200, message='测试项自动生成用例成功') + return ChenResponse(data={'key': demand_node.key}, status=200, code=200, + message='测试项自动生成用例成功') # 测试用例复制/移动到测试项上 @route.get("/case/copy_or_move_to_demand", url_name='case-copy-move-demand') @@ -240,6 +274,56 @@ class CaseController(ControllerBase): # 测试用例复制/移动到用例 @route.get("/case/copy_or_move_by_case", url_name='case-copy-move-case') @transaction.atomic - def copy_move_case_by_case(self, project_id: int, drag_key: str, drop_key: str, move: bool, position: int): + def copy_move_case_by_case(self, project_id: int, drag_key: str, drop_key: str, move: bool, + position: int): case_to_case_copy_or_move(project_id, drag_key, drop_key, move, position) return ChenResponse(data={'old': {'key': drag_key}, 'new': {'key': drop_key}}) + + # 用例-替换接口 + @route.post("/case/replace/", url_name='case-replace') + @transaction.atomic + def replace_case_step_content(self, payload: ReplaceCaseSchema): + # 1.首先查询项目 + project_obj: Project = get_object_or_404(Project, id=payload.project_id) + # 2.查询[所有轮次]的selectRows的id + case_qs = project_obj.pcField.filter(id__in=payload.selectRows, round__key=payload.round_key) + # 3.批量替换里面文本(解构不影响老数组) + selectColumn = [x for x in payload.selectColumn if x != 'testStep'] + replace_kwargs = { + field_name: Replace(F(field_name), Value(payload.originText), Value(payload.replaceText)) + for field_name in selectColumn + } + # 4.单独处理testContentStep的操作、预期-查询所有 + # 4.1.获取所有关联的TestDemandContentStep + step_count = 0 + if 'testStep' in payload.selectColumn: + caseStep_qs = CaseStep.objects.filter(case__in=case_qs) + # 批量更新 operation 和 expect + step_count = caseStep_qs.update( + operation=Replace(F('operation'), Value(payload.originText), Value(payload.replaceText)), + expect=Replace(F('expect'), Value(payload.originText), Value(payload.replaceText)) + ) + # 5.提交更新 + replace_count = case_qs.update(**replace_kwargs) + return {'count': replace_count + step_count} + + # 批量替换设计人员、执行人员、审核人员 + @route.post("/case/personReplace/", url_name='case-person-replace') + @transaction.atomic + def bulk_replace_person(self, payload: PersonReplaceSchema): + # 替换设计人员 + case_qs = Case.objects.filter(id__in=payload.selectRows) + if payload.designPerson != '不替换' and payload.designPerson != '': + case_qs.update(designPerson=payload.designPerson) + if payload.testPerson != '不替换' and payload.testPerson != '': + case_qs.update(testPerson=payload.testPerson) + if payload.monitorPerson != '不替换' and payload.monitorPerson != '': + case_qs.update(monitorPerson=payload.monitorPerson) + + # 批量替换事件 + @route.post("/case/timeReplace/", url_name='case-time-replace') + @transaction.atomic + def bulk_replace_time(self, payload: ExetimeReplaceSchema): + # 替换设计人员 + case_qs = Case.objects.filter(id__in=payload.selectRows) + case_qs.update(exe_time=payload.exetime) diff --git a/apps/project/controllers/design.py b/apps/project/controllers/design.py index 33e6079..27ff3ea 100644 --- a/apps/project/controllers/design.py +++ b/apps/project/controllers/design.py @@ -6,30 +6,44 @@ from ninja.pagination import paginate from ninja.errors import HttpError from utils.chen_pagination import MyPagination from django.db import transaction +from django.db.models import F, Value +from django.db.models.functions import Replace from django.shortcuts import get_object_or_404 from typing import List from utils.chen_response import ChenResponse from utils.chen_crud import multi_delete_design from utils.codes import HTTP_INDEX_ERROR from apps.project.models import Design, Dut, Round, Project -from apps.project.schemas.design import DeleteSchema, DesignFilterSchema, DesignModelOutSchema, DesignTreeReturnSchema, \ - DesignTreeInputSchema, DesignCreateOutSchema, DesignCreateInputSchema, MultiDesignCreateInputSchema +from apps.project.schemas.design import DeleteSchema, DesignFilterSchema, DesignModelOutSchema, \ + DesignTreeReturnSchema, \ + DesignTreeInputSchema, DesignCreateOutSchema, DesignCreateInputSchema, MultiDesignCreateInputSchema, \ + ReplaceDesignContentSchema from apps.project.tools.delete_change_key import design_delete_sub_node_key from utils.smallTools.interfaceTools import conditionNoneToBlank @api_controller("/project", auth=JWTAuth(), permissions=[IsAuthenticated], tags=['设计需求数据']) class DesignController(ControllerBase): - @route.get("/getDesignDemandList", response=List[DesignModelOutSchema], exclude_none=True, url_name="design-list") + @route.get("/getDesignDemandList", response=List[DesignModelOutSchema], exclude_none=True, + url_name="design-list") @transaction.atomic @paginate(MyPagination) def get_design_list(self, datafilter: DesignFilterSchema = Query(...)): conditionNoneToBlank(datafilter) - dut_key = "".join([datafilter.round_id, '-', datafilter.dut_id]) - qs = Design.objects.filter(project__id=datafilter.project_id, dut__key=dut_key, - ident__icontains=datafilter.ident, - name__icontains=datafilter.name, - demandType__contains=datafilter.demandType, - chapter__icontains=datafilter.chapter).order_by('id') + query_params = { + 'project__id': datafilter.project_id, + 'ident__icontains': datafilter.ident, + 'name__icontains': datafilter.name, + 'demandType__contains': datafilter.demandType, + 'chapter__icontains': datafilter.chapter + } + # 判断是否传递dut_id,如果没传递则查询轮次全部 + if datafilter.dut_id: + dut_key = f"{datafilter.round_id}-{datafilter.dut_id}" + query_params['dut__key'] = dut_key + else: + # 如果没有dut__key则要查询round__key + query_params['round__key'] = datafilter.round_id + qs = Design.objects.filter(**query_params).order_by('id') return qs @route.get("/getDesignOne", response=DesignModelOutSchema, url_name='design-one') @@ -39,6 +53,13 @@ class DesignController(ControllerBase): return design_qs raise HttpError(500, "未找到相应的数据") + @route.get("/getDesignOneById", response=DesignModelOutSchema, url_name='design-one-by-id') + def get_one_by_id(self, id: int): + design_qs = Design.objects.filter(id=id).first() + if design_qs: + return design_qs + raise HttpError(500, "未找到相应的数据") + # 处理树状数据 @route.get("/getDesignDemandInfo", response=List[DesignTreeReturnSchema], url_name="design-info") def get_design_tree(self, payload: DesignTreeInputSchema = Query(...)): @@ -55,7 +76,8 @@ class DesignController(ControllerBase): # 构造dut_key dut_key = "".join([payload.round_key, "-", payload.dut_key]) # 判重标识-不需要再查询round以后的 - if Design.objects.filter(project__id=payload.project_id, round__key=payload.round_key, dut__key=dut_key, + if Design.objects.filter(project__id=payload.project_id, round__key=payload.round_key, + dut__key=dut_key, ident=payload.ident).exists() and asert_dict['ident'] != "": return ChenResponse(code=400, status=400, message='研制需求的标识重复,请检查') # 查询当前key应该为多少 @@ -64,7 +86,8 @@ class DesignController(ControllerBase): # 查询当前的round_id round_instance = Round.objects.get(project__id=payload.project_id, key=payload.round_key) dut_instance = Dut.objects.get(project__id=payload.project_id, key=dut_key) - asert_dict.update({'key': key_string, 'round': round_instance, 'dut': dut_instance, 'title': payload.name}) + asert_dict.update( + {'key': key_string, 'round': round_instance, 'dut': dut_instance, 'title': payload.name}) asert_dict.pop("round_key") asert_dict.pop("dut_key") qs = Design.objects.create(**asert_dict) @@ -156,3 +179,20 @@ class DesignController(ControllerBase): round_dict['children'].append(dut_dict) data_list.append(round_dict) return ChenResponse(message='获取成功', data=data_list) + + # 设计需求-替换接口 + @route.post("/designDemand/replace/", url_name='design-replace') + @transaction.atomic + def replace_content(self, payload: ReplaceDesignContentSchema): + # 1.首先查询项目 + project_obj: Project = get_object_or_404(Project, id=payload.project_id) + # 2.查询[所有轮次]的selectRows的id + design_qs = project_obj.psField.filter(id__in=payload.selectRows, round__key=payload.round_key) + # 3.批量替换里面文本 + replace_kwargs = { + field_name: Replace(F(field_name), Value(payload.originText), Value(payload.replaceText)) + for field_name in payload.selectColumn + } + # 4.提交更新 + replace_count = design_qs.update(**replace_kwargs) + return {'count': replace_count} diff --git a/apps/project/controllers/dut.py b/apps/project/controllers/dut.py index ddb51ac..4a9f012 100644 --- a/apps/project/controllers/dut.py +++ b/apps/project/controllers/dut.py @@ -42,7 +42,7 @@ class DutController(ControllerBase): qs = Dut.objects.filter(project__id=payload.project_id, round__key=payload.key) return qs - # 获取单个dut + # 获取单个dut-根据项目id和dut.key @route.get("/getDutOne", response=DutModelOutSchema, url_name="dut-one") @transaction.atomic def get_dut(self, project_id: int, key: str): @@ -51,6 +51,13 @@ class DutController(ControllerBase): return dut_qs raise HttpError(500, "未找到相应的数据") + @route.get("/getDutOneById", response=DutModelOutSchema, url_name='dut-one-by-id') + def get_one_by_id(self, id: int): + dut_qs = Dut.objects.filter(id=id).first() + if dut_qs: + return dut_qs + raise HttpError(500, "未找到相应的数据") + # 添加被测件 @route.post("/dut/save", url_name="dut-create", response=DutCreateOutSchema) @transaction.atomic diff --git a/apps/project/controllers/testDemand.py b/apps/project/controllers/testDemand.py index c04d912..0953764 100644 --- a/apps/project/controllers/testDemand.py +++ b/apps/project/controllers/testDemand.py @@ -6,6 +6,8 @@ from ninja.pagination import paginate from ninja.errors import HttpError from utils.chen_pagination import MyPagination from django.db import transaction +from django.db.models.functions import Replace +from django.db.models import Q, F, Value from django.shortcuts import get_object_or_404 from typing import List from utils.chen_response import ChenResponse @@ -13,7 +15,8 @@ from utils.chen_crud import multi_delete_testDemand from utils.codes import HTTP_INDEX_ERROR from apps.project.models import Design, Dut, Round, TestDemand, TestDemandContent, TestDemandContentStep from apps.project.schemas.testDemand import DeleteSchema, TestDemandModelOutSchema, TestDemandFilterSchema, \ - TestDemandTreeReturnSchema, TestDemandTreeInputSchema, TestDemandCreateOutSchema, TestDemandCreateInputSchema, \ + TestDemandTreeReturnSchema, TestDemandTreeInputSchema, TestDemandCreateOutSchema, \ + TestDemandCreateInputSchema, ReplaceDemandContentSchema, \ TestDemandRelatedSchema, TestDemandExistRelatedSchema, DemandCopyToDesignSchema # 导入ORM from apps.project.models import Project @@ -30,12 +33,29 @@ class TestDemandController(ControllerBase): @paginate(MyPagination) def get_test_demand_list(self, datafilter: TestDemandFilterSchema = Query(...)): conditionNoneToBlank(datafilter) - design_key = "".join([datafilter.round_id, '-', datafilter.dut_id, '-', datafilter.design_id]) - qs = TestDemand.objects.filter(project__id=datafilter.project_id, design__key=design_key, - ident__icontains=datafilter.ident, - name__icontains=datafilter.name, - testType__contains=datafilter.testType, - priority__icontains=datafilter.priority).order_by("key") + query_params = { + 'project__id': datafilter.project_id, + 'ident__icontains': datafilter.ident, + 'name__icontains': datafilter.name, + 'testType__contains': datafilter.testType, + 'priority__icontains': datafilter.priority + } + # 如果没有传递多个key则认为是“那个轮次汇总界面” + if datafilter.dut_id and datafilter.design_id: + design_key = "".join([datafilter.round_id, '-', datafilter.dut_id, '-', datafilter.design_id]) + query_params['design__key'] = design_key + else: + # 轮次汇总界面要查round__key + query_params['round__key'] = datafilter.round_id + # 判断是否存在testDesciption有则表示是大表查询 + if datafilter.testDesciption: + query_params['testDesciption__icontains'] = datafilter.testDesciption + qs = TestDemand.objects.filter(**query_params).order_by("key") + # 判断是否存在testContent有则表示是大表查询,这里需要查询子字段 + if datafilter.testContent: + qs = qs.filter(Q(testQField__subName__icontains=datafilter.testContent) | + Q(testQField__testStepField__operation__icontains=datafilter.testContent) | + Q(testQField__testStepField__expect__icontains=datafilter.testContent)) # 由于有嵌套query_set存在,把每个测试需求的schema加上一个字段 query_list = [] for query_single in qs: @@ -61,6 +81,20 @@ class TestDemandController(ControllerBase): return demand_qs raise HttpError(500, "未找到相应的数据") + # 根据id直接查询 + @route.get("/getTestDemandOneById", response=TestDemandModelOutSchema, url_name='testDemand-one-by-id') + @transaction.atomic + def get_demand_by_id(self, id: int): + demand_qs = TestDemand.objects.filter(id=id).first() + if demand_qs: + sub_list = [] + for step_obj in demand_qs.testQField.all(): + setattr(step_obj, "subStep", step_obj.testStepField.all().values()) + sub_list.append(step_obj) + setattr(demand_qs, "testContent", sub_list) + return demand_qs + raise HttpError(500, "未找到相应的数据") + # 处理树状数据 @route.get("/getTestdemandInfo", response=List[TestDemandTreeReturnSchema], url_name="testDemand-info") @transaction.atomic @@ -78,11 +112,13 @@ class TestDemandController(ControllerBase): if payload.ident and project_qs: exists = project_qs.ptField.filter(ident=payload.ident).exists() if exists: - return ChenResponse(code=500, status=500, message='测试项标识和其他测试项重复,请更换测试项标识!!!') + return ChenResponse(code=500, status=500, + message='测试项标识和其他测试项重复,请更换测试项标识!!!') # 构造design_key design_key = "".join([payload.round_key, "-", payload.dut_key, '-', payload.design_key]) # 查询当前key应该为多少 - test_demand_count = TestDemand.objects.filter(project__id=payload.project_id, design__key=design_key).count() + test_demand_count = TestDemand.objects.filter(project__id=payload.project_id, + design__key=design_key).count() key_string = ''.join([design_key, "-", str(test_demand_count)]) # 查询当前各个前面节点的instance round_instance = Round.objects.get(project__id=payload.project_id, key=payload.round_key) @@ -90,8 +126,9 @@ class TestDemandController(ControllerBase): key="".join([payload.round_key, "-", payload.dut_key])) design_instance = Design.objects.get(project__id=payload.project_id, key="".join( [payload.round_key, "-", payload.dut_key, '-', payload.design_key])) - asert_dict.update({'key': key_string, 'round': round_instance, 'dut': dut_instance, 'design': design_instance, - 'title': payload.name}) + asert_dict.update( + {'key': key_string, 'round': round_instance, 'dut': dut_instance, 'design': design_instance, + 'title': payload.name}) asert_dict.pop("round_key") asert_dict.pop("dut_key") asert_dict.pop("design_key") @@ -153,11 +190,13 @@ class TestDemandController(ControllerBase): ) for step in item["subStep"] ]) + setattr(testDemand_qs, attr, value) # ~~~2024年5月9日:测试项更新标识后还要更新下面用例的标识~~~ if testDemand_qs.ident != old_ident: for case in testDemand_qs.tcField.all(): case.ident = testDemand_qs.ident case.save() + testDemand_qs.save() return testDemand_qs # 删除测试项 @@ -179,7 +218,7 @@ class TestDemandController(ControllerBase): single_qs.key = test_demand_key index = index + 1 single_qs.save() - demand_delete_sub_node_key(single_qs) # 删除后需重排子节点 + demand_delete_sub_node_key(single_qs) # 删除后需重排子节点 return ChenResponse(message="测试需求删除成功!") # 查询一个项目的所有测试项 @@ -215,7 +254,8 @@ class TestDemandController(ControllerBase): if ti.pk == test_id: non_exist_ids.remove(test_id) if len(non_exist_ids) <= 0 < len(test_item_ids): - return ChenResponse(status=400, code=200, message='选择的测试项全部存在于当前设计需求中,请重新选择...') + return ChenResponse(status=400, code=200, + message='选择的测试项全部存在于当前设计需求中,请重新选择...') # 先查询现在有的关联测试项 for item in design_item.odField.values('id'): item_id = item.get('id', None) @@ -251,3 +291,32 @@ class TestDemandController(ControllerBase): """前端测试项右键复制到某个设计需求下面""" new_demand_key = demand_copy_to_design(data.project_id, data.demand_key, data.design_id, data.depth) return ChenResponse(data={'key': new_demand_key}) + + # 测试项-替换接口 + @route.post("/testDemand/replace/", url_name='testDemand-replace') + @transaction.atomic + def replace_demand_content(self, payload: ReplaceDemandContentSchema): + # 1.首先查询项目 + project_obj: Project = get_object_or_404(Project, id=payload.project_id) + # 2.查询[所有轮次]的selectRows的id + demand_qs = project_obj.ptField.filter(id__in=payload.selectRows, round__key=payload.round_key) + # 3.批量替换里面文本(解构不影响老数组) + selectColumn = [x for x in payload.selectColumn if x != 'testContent'] + replace_kwargs = { + field_name: Replace(F(field_name), Value(payload.originText), Value(payload.replaceText)) + for field_name in selectColumn + } + # 4.单独处理testContentStep的操作、预期-查询所有 + # 4.1.获取所有关联的TestDemandContentStep + step_count = 0 + if 'testContent' in payload.selectColumn: + test_demand_contents = TestDemandContent.objects.filter(testDemand__in=demand_qs) + test_steps = TestDemandContentStep.objects.filter(testDemandContent__in=test_demand_contents) + # 批量更新 operation 和 expect + step_count = test_steps.update( + operation=Replace(F('operation'), Value(payload.originText), Value(payload.replaceText)), + expect=Replace(F('expect'), Value(payload.originText), Value(payload.replaceText)) + ) + # 5.提交更新 + replace_count = demand_qs.update(**replace_kwargs) + return {'count': replace_count + step_count} diff --git a/apps/project/schemas/__pycache__/case.cpython-313.pyc b/apps/project/schemas/__pycache__/case.cpython-313.pyc index 45f5136..8da0420 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__/design.cpython-313.pyc b/apps/project/schemas/__pycache__/design.cpython-313.pyc index a15d153..abf5ec0 100644 Binary files a/apps/project/schemas/__pycache__/design.cpython-313.pyc and b/apps/project/schemas/__pycache__/design.cpython-313.pyc differ diff --git a/apps/project/schemas/__pycache__/testDemand.cpython-313.pyc b/apps/project/schemas/__pycache__/testDemand.cpython-313.pyc index 424745a..17719c2 100644 Binary files a/apps/project/schemas/__pycache__/testDemand.cpython-313.pyc and b/apps/project/schemas/__pycache__/testDemand.cpython-313.pyc differ diff --git a/apps/project/schemas/case.py b/apps/project/schemas/case.py index bab469b..fdea45d 100644 --- a/apps/project/schemas/case.py +++ b/apps/project/schemas/case.py @@ -5,6 +5,7 @@ from typing import List, Union, Optional from datetime import date # 关联问题单 from apps.project.schemas.problem import ProblemModelOutSchema +from apps.project.schemas.testDemand import TestDemandModelOutSchemaOrigin # 删除schema class DeleteSchema(Schema): @@ -31,12 +32,25 @@ class CaseModelOutSchemaWithoutProblem(ModelSchema): model = Case model_exclude = ['project', 'round', 'dut', 'design', 'test', 'remark', 'sort'] +# 输出case:关联问题单 +class CaseModelOutSchemaOrigin(ModelSchema): + testStep: List[CaseStepSchema] + testType: str # 用例额外字段,用于测试类型FT的标识给前端 + # 新增:关联的问题单 + problem: Optional[ProblemModelOutSchema] = None + + class Config: + model = Case + model_exclude = ['project', 'round', 'dut', 'design', 'test', 'remark', 'sort'] + # 输出case:关联问题单 class CaseModelOutSchema(ModelSchema): testStep: List[CaseStepSchema] testType: str # 用例额外字段,用于测试类型FT的标识给前端 # 新增:关联的问题单 problem: Optional[ProblemModelOutSchema] = None + # 2025年5月10日新增上级字段 + test: Optional[TestDemandModelOutSchemaOrigin] = None class Config: model = Case @@ -119,3 +133,24 @@ class DemandNodeSchema(Schema): isLeaf: bool = False key: str = Field(None, alias='nodekey') title: str = Field(None) + +# 替换文本输入Schema +class ReplaceCaseSchema(Schema): + project_id: int + round_key: str + originText: str + replaceText: str + selectRows: List[int] + selectColumn: List[str] + +# 人员替换Schema +class PersonReplaceSchema(Schema): + selectRows: List[int] = None + designPerson: str + testPerson: str + monitorPerson: str + +# 事件替换Schema +class ExetimeReplaceSchema(Schema): + selectRows: List[int] = None + exetime: str diff --git a/apps/project/schemas/design.py b/apps/project/schemas/design.py index d8a56da..b4cd65d 100644 --- a/apps/project/schemas/design.py +++ b/apps/project/schemas/design.py @@ -1,7 +1,10 @@ +from typing import Optional from apps.project.models import Design from ninja import Field, Schema, ModelSchema from typing import List, Union from pydantic import AliasChoices +# 上级dut-schema +from apps.project.schemas.dut import DutModelOutSchema # 删除schema class DeleteSchema(Schema): @@ -18,7 +21,16 @@ class DesignFilterSchema(Schema): # 新增字段 - chapter chapter: str = Field(None, alias='chapter') +# 2025年改为2个输出,因为下级需要上级,原始不再嵌套上级 +class DesignModelOutSchemaOrigin(ModelSchema): + class Config: + model = Design + model_exclude = ['project', 'round', 'dut', 'remark', 'sort'] + class DesignModelOutSchema(ModelSchema): + # 新增字段 - 上级的dut对象 + dut: Optional[DutModelOutSchema] = None + class Config: model = Design model_exclude = ['project', 'round', 'dut', 'remark', 'sort'] @@ -72,3 +84,12 @@ class MultiDesignCreateInputSchema(Schema): project_id: int = Field(..., alias="projectId") dut_key: str = Field(..., alias="key") data: List[SingleDesignSchema] + +# 批量替换design的接口Schema +class ReplaceDesignContentSchema(Schema): + project_id: int + round_key: str + originText: str + replaceText: str + selectRows: List[int] + selectColumn: List[str] diff --git a/apps/project/schemas/testDemand.py b/apps/project/schemas/testDemand.py index e9a7fc1..4688ece 100644 --- a/apps/project/schemas/testDemand.py +++ b/apps/project/schemas/testDemand.py @@ -1,4 +1,5 @@ from apps.project.models import TestDemand, TestDemandContent, TestDemandContentStep +from apps.project.schemas.design import DesignModelOutSchemaOrigin # 注意导入的是不含上级的Schema from ninja import Field, Schema, ModelSchema from typing import List, Union, Optional from pydantic import AliasChoices @@ -20,8 +21,18 @@ class TestContentSchema(ModelSchema): model = TestDemandContent fields = ["subName"] +# 2025年修改为两个,一个含上级一个不含 +class TestDemandModelOutSchemaOrigin(ModelSchema): + testContent: List[TestContentSchema] # 下级对象 + + class Meta: + model = TestDemand + exclude = ['project', 'round', 'dut', 'design', 'remark', 'sort'] + class TestDemandModelOutSchema(ModelSchema): - testContent: List[TestContentSchema] + testContent: List[TestContentSchema] # 下级对象 + # 2025年5月9日新增上级字段design + design: Optional[DesignModelOutSchemaOrigin] = None class Meta: model = TestDemand @@ -38,6 +49,9 @@ class TestDemandFilterSchema(Schema): testType: str = Field(None, alias='testType') name: str = Field(None, alias='name') priority: str = Field(None, alias="priority") + # 新增查询字段,给大表的查询 + testDesciption: str = Field(None, alias="testDesciption") + testContent: str = Field(None, alias="testContent") # 处理树状结构的schema class TestDemandTreeReturnSchema(Schema): @@ -102,3 +116,12 @@ class DemandCopyToDesignSchema(Schema): design_id: int demand_key: str depth: bool = False + +# 替换文本输入Schema +class ReplaceDemandContentSchema(Schema): + project_id: int + round_key: str + originText: str + replaceText: str + selectRows: List[int] + selectColumn: List[str] diff --git a/logs/root_log b/logs/root_log index 1cf2c72..df0fd13 100644 --- a/logs/root_log +++ b/logs/root_log @@ -735,3 +735,2598 @@ Traceback (most recent call last): f'is not JSON serializable') TypeError: Object of type bytes is not JSON serializable [ERROR][2025-04-30 14:54:39,513][log.py:248]Internal Server Error: /api/dut_upload/upload_xq_docx/ +[WARNING][2025-05-03 14:58:41,676][log.py:248]Unauthorized: /api/system/getInfo +[WARNING][2025-05-03 14:58:41,748][log.py:248]Unauthorized: /api/system/logout +[WARNING][2025-05-03 14:58:50,087][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2025-05-06 13:33:41,215][log.py:248]Unauthorized: /api/system/getInfo +[WARNING][2025-05-06 13:33:41,274][log.py:248]Unauthorized: /api/system/logout +[WARNING][2025-05-06 13:33:47,949][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2025-05-06 16:02:15,792][operation.py:133]"GET - RoundController[get_round_tree] /api/project/getRoundInfo/undefined" ("Field 'id' expected a number but got 'undefined'.",) +[ERROR][2025-05-06 16:02:15,793][errors.py:131]Field 'id' expected a number but got 'undefined'. +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: 'undefined' + +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 "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\round.py", line 16, in get_round_tree + qs = Round.objects.filter(project__id=project_id).order_by('key') + ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ + 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 1481, 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 1499, 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 1506, 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 1643, 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 1675, 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 1585, 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 1412, 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 410, in get_prep_lookup + return super().get_prep_lookup() + ~~~~~~~~~~~~~~~~~~~~~~~^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\lookups.py", line 96, in get_prep_lookup + return self.lhs.output_field.get_prep_value(self.rhs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + 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 'undefined'. +[ERROR][2025-05-06 16:02:15,874][log.py:248]Internal Server Error: /api/project/getRoundInfo/undefined +[WARNING][2025-05-06 16:02:24,312][operation.py:133]"GET - RoundController[get_round_tree] /api/project/getRoundInfo/undefined" ("Field 'id' expected a number but got 'undefined'.",) +[ERROR][2025-05-06 16:02:24,312][errors.py:131]Field 'id' expected a number but got 'undefined'. +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: 'undefined' + +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 "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\round.py", line 16, in get_round_tree + qs = Round.objects.filter(project__id=project_id).order_by('key') + ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ + 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 1481, 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 1499, 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 1506, 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 1643, 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 1675, 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 1585, 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 1412, 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 410, in get_prep_lookup + return super().get_prep_lookup() + ~~~~~~~~~~~~~~~~~~~~~~~^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\lookups.py", line 96, in get_prep_lookup + return self.lhs.output_field.get_prep_value(self.rhs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + 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 'undefined'. +[ERROR][2025-05-06 16:02:24,316][log.py:248]Internal Server Error: /api/project/getRoundInfo/undefined +[WARNING][2025-05-06 16:03:25,742][operation.py:133]"GET - RoundController[get_round_tree] /api/project/getRoundInfo/undefined" ("Field 'id' expected a number but got 'undefined'.",) +[ERROR][2025-05-06 16:03:25,742][errors.py:131]Field 'id' expected a number but got 'undefined'. +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: 'undefined' + +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 "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\round.py", line 16, in get_round_tree + qs = Round.objects.filter(project__id=project_id).order_by('key') + ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ + 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 1481, 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 1499, 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 1506, 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 1643, 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 1675, 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 1585, 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 1412, 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 410, in get_prep_lookup + return super().get_prep_lookup() + ~~~~~~~~~~~~~~~~~~~~~~~^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\lookups.py", line 96, in get_prep_lookup + return self.lhs.output_field.get_prep_value(self.rhs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + 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 'undefined'. +[ERROR][2025-05-06 16:03:25,756][log.py:248]Internal Server Error: /api/project/getRoundInfo/undefined +[WARNING][2025-05-06 16:04:23,165][operation.py:133]"GET - RoundController[get_round_tree] /api/project/getRoundInfo/undefined" ("Field 'id' expected a number but got 'undefined'.",) +[ERROR][2025-05-06 16:04:23,166][errors.py:131]Field 'id' expected a number but got 'undefined'. +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: 'undefined' + +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 "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\round.py", line 16, in get_round_tree + qs = Round.objects.filter(project__id=project_id).order_by('key') + ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ + 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 1481, 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 1499, 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 1506, 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 1643, 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 1675, 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 1585, 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 1412, 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 410, in get_prep_lookup + return super().get_prep_lookup() + ~~~~~~~~~~~~~~~~~~~~~~~^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\lookups.py", line 96, in get_prep_lookup + return self.lhs.output_field.get_prep_value(self.rhs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + 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 'undefined'. +[ERROR][2025-05-06 16:04:23,170][log.py:248]Internal Server Error: /api/project/getRoundInfo/undefined +[WARNING][2025-05-07 08:18:25,348][log.py:248]Unauthorized: /api/system/getInfo +[WARNING][2025-05-07 08:18:25,429][log.py:248]Unauthorized: /api/system/logout +[WARNING][2025-05-07 08:18:50,242][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2025-05-07 09:31:56,318][log.py:248]Not Found: / +[WARNING][2025-05-07 09:31:56,445][log.py:248]Not Found: /favicon.ico +[WARNING][2025-05-07 09:52:10,698][operation.py:133]"GET - DutController[get_dut_type] /api/project/dut/dut_type" ("'NoneType' object has no attribute 'type'",) +[ERROR][2025-05-07 09:52:10,698][errors.py:131]'NoneType' object has no attribute 'type' +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\dut.py", line 202, in get_dut_type + return ChenResponse(code=200, status=200, data={'dut_type': dut.type}) + ^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'type' +[ERROR][2025-05-07 09:52:10,729][log.py:248]Internal Server Error: /api/project/dut/dut_type +[WARNING][2025-05-07 09:52:10,745][operation.py:133]"GET - DutController[get_dut_type] /api/project/dut/dut_type" ("'NoneType' object has no attribute 'type'",) +[ERROR][2025-05-07 09:52:10,745][errors.py:131]'NoneType' object has no attribute 'type' +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\dut.py", line 202, in get_dut_type + return ChenResponse(code=200, status=200, data={'dut_type': dut.type}) + ^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'type' +[ERROR][2025-05-07 09:52:10,749][log.py:248]Internal Server Error: /api/project/dut/dut_type +[WARNING][2025-05-07 09:52:10,761][operation.py:133]"GET - DutController[get_dut_type] /api/project/dut/dut_type" ("'NoneType' object has no attribute 'type'",) +[ERROR][2025-05-07 09:52:10,762][errors.py:131]'NoneType' object has no attribute 'type' +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\dut.py", line 202, in get_dut_type + return ChenResponse(code=200, status=200, data={'dut_type': dut.type}) + ^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'type' +[ERROR][2025-05-07 09:52:10,764][log.py:248]Internal Server Error: /api/project/dut/dut_type +[WARNING][2025-05-07 09:52:17,191][operation.py:133]"GET - DutController[get_dut_type] /api/project/dut/dut_type" ("'NoneType' object has no attribute 'type'",) +[ERROR][2025-05-07 09:52:17,191][errors.py:131]'NoneType' object has no attribute 'type' +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\dut.py", line 202, in get_dut_type + return ChenResponse(code=200, status=200, data={'dut_type': dut.type}) + ^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'type' +[WARNING][2025-05-07 09:52:17,195][operation.py:133]"GET - DutController[get_dut_type] /api/project/dut/dut_type" ("'NoneType' object has no attribute 'type'",) +[ERROR][2025-05-07 09:52:17,203][errors.py:131]'NoneType' object has no attribute 'type' +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\dut.py", line 202, in get_dut_type + return ChenResponse(code=200, status=200, data={'dut_type': dut.type}) + ^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'type' +[WARNING][2025-05-07 09:52:17,212][operation.py:133]"GET - DutController[get_dut_type] /api/project/dut/dut_type" ("'NoneType' object has no attribute 'type'",) +[ERROR][2025-05-07 09:52:17,213][log.py:248]Internal Server Error: /api/project/dut/dut_type +[ERROR][2025-05-07 09:52:17,215][errors.py:131]'NoneType' object has no attribute 'type' +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\dut.py", line 202, in get_dut_type + return ChenResponse(code=200, status=200, data={'dut_type': dut.type}) + ^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'type' +[ERROR][2025-05-07 09:52:17,229][log.py:248]Internal Server Error: /api/project/dut/dut_type +[ERROR][2025-05-07 09:52:17,249][log.py:248]Internal Server Error: /api/project/dut/dut_type +[WARNING][2025-05-07 09:53:21,559][operation.py:133]"GET - DutController[get_dut_type] /api/project/dut/dut_type" ("'NoneType' object has no attribute 'type'",) +[ERROR][2025-05-07 09:53:21,559][errors.py:131]'NoneType' object has no attribute 'type' +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\dut.py", line 202, in get_dut_type + return ChenResponse(code=200, status=200, data={'dut_type': dut.type}) + ^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'type' +[ERROR][2025-05-07 09:53:21,563][log.py:248]Internal Server Error: /api/project/dut/dut_type +[WARNING][2025-05-07 09:53:21,740][operation.py:133]"GET - DutController[get_dut_type] /api/project/dut/dut_type" ("'NoneType' object has no attribute 'type'",) +[ERROR][2025-05-07 09:53:21,741][errors.py:131]'NoneType' object has no attribute 'type' +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\dut.py", line 202, in get_dut_type + return ChenResponse(code=200, status=200, data={'dut_type': dut.type}) + ^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'type' +[ERROR][2025-05-07 09:53:21,744][log.py:248]Internal Server Error: /api/project/dut/dut_type +[WARNING][2025-05-07 09:53:23,427][operation.py:133]"GET - DutController[get_dut_type] /api/project/dut/dut_type" ("'NoneType' object has no attribute 'type'",) +[ERROR][2025-05-07 09:53:23,429][errors.py:131]'NoneType' object has no attribute 'type' +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\dut.py", line 202, in get_dut_type + return ChenResponse(code=200, status=200, data={'dut_type': dut.type}) + ^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'type' +[ERROR][2025-05-07 09:53:23,431][log.py:248]Internal Server Error: /api/project/dut/dut_type +[WARNING][2025-05-07 09:53:23,988][operation.py:133]"GET - DutController[get_dut_type] /api/project/dut/dut_type" ("'NoneType' object has no attribute 'type'",) +[ERROR][2025-05-07 09:53:23,989][errors.py:131]'NoneType' object has no attribute 'type' +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\dut.py", line 202, in get_dut_type + return ChenResponse(code=200, status=200, data={'dut_type': dut.type}) + ^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'type' +[ERROR][2025-05-07 09:53:23,993][log.py:248]Internal Server Error: /api/project/dut/dut_type +[WARNING][2025-05-07 09:53:47,322][operation.py:133]"GET - DutController[get_dut_type] /api/project/dut/dut_type" ("'NoneType' object has no attribute 'type'",) +[ERROR][2025-05-07 09:53:47,323][errors.py:131]'NoneType' object has no attribute 'type' +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\dut.py", line 202, in get_dut_type + return ChenResponse(code=200, status=200, data={'dut_type': dut.type}) + ^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'type' +[ERROR][2025-05-07 09:53:47,324][log.py:248]Internal Server Error: /api/project/dut/dut_type +[WARNING][2025-05-07 09:53:58,390][operation.py:133]"GET - DutController[get_dut_type] /api/project/dut/dut_type" ("'NoneType' object has no attribute 'type'",) +[ERROR][2025-05-07 09:53:58,390][errors.py:131]'NoneType' object has no attribute 'type' +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\dut.py", line 202, in get_dut_type + return ChenResponse(code=200, status=200, data={'dut_type': dut.type}) + ^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'type' +[ERROR][2025-05-07 09:53:58,391][log.py:248]Internal Server Error: /api/project/dut/dut_type +[WARNING][2025-05-07 09:55:52,748][operation.py:133]"GET - DutController[get_dut_type] /api/project/dut/dut_type" ("'NoneType' object has no attribute 'type'",) +[ERROR][2025-05-07 09:55:52,748][errors.py:131]'NoneType' object has no attribute 'type' +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\dut.py", line 202, in get_dut_type + return ChenResponse(code=200, status=200, data={'dut_type': dut.type}) + ^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'type' +[ERROR][2025-05-07 09:55:52,753][log.py:248]Internal Server Error: /api/project/dut/dut_type +[WARNING][2025-05-07 09:55:55,868][operation.py:133]"GET - DutController[get_dut_type] /api/project/dut/dut_type" ("'NoneType' object has no attribute 'type'",) +[ERROR][2025-05-07 09:55:55,870][errors.py:131]'NoneType' object has no attribute 'type' +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\dut.py", line 202, in get_dut_type + return ChenResponse(code=200, status=200, data={'dut_type': dut.type}) + ^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'type' +[ERROR][2025-05-07 09:55:55,874][log.py:248]Internal Server Error: /api/project/dut/dut_type +[WARNING][2025-05-07 09:56:02,966][operation.py:133]"GET - DutController[get_dut_type] /api/project/dut/dut_type" ("'NoneType' object has no attribute 'type'",) +[ERROR][2025-05-07 09:56:02,966][errors.py:131]'NoneType' object has no attribute 'type' +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\dut.py", line 202, in get_dut_type + return ChenResponse(code=200, status=200, data={'dut_type': dut.type}) + ^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'type' +[ERROR][2025-05-07 09:56:02,968][log.py:248]Internal Server Error: /api/project/dut/dut_type +[WARNING][2025-05-07 10:40:45,425][operation.py:133]"GET - DesignController[get_design_list] /api/project/getDesignDemandList" ("Field 'id' expected a number but got ''.",) +[ERROR][2025-05-07 10:40:45,425][errors.py:131]Field 'id' expected a number but got ''. +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: '' + +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\.venv\Lib\site-packages\ninja\pagination.py", line 250, in view_with_pagination + items = func(request, **kwargs) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 28, in get_design_list + qs = Design.objects.filter(project__id=datafilter.project_id, dut__key=dut_key, + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ident__icontains=datafilter.ident, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + name__icontains=datafilter.name, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + demandType__contains=datafilter.demandType, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + chapter__icontains=datafilter.chapter).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 1481, 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 1499, 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 1506, 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 1643, 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 1675, 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 1585, 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 1412, 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 410, in get_prep_lookup + return super().get_prep_lookup() + ~~~~~~~~~~~~~~~~~~~~~~~^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\lookups.py", line 96, in get_prep_lookup + return self.lhs.output_field.get_prep_value(self.rhs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + 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 ''. +[ERROR][2025-05-07 10:40:45,515][log.py:248]Internal Server Error: /api/project/getDesignDemandList +[WARNING][2025-05-07 10:41:03,136][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2025-05-07 10:41:03,892][operation.py:133]"GET - DesignController[get_design_list] /api/project/getDesignDemandList" ("Field 'id' expected a number but got ''.",) +[ERROR][2025-05-07 10:41:03,892][errors.py:131]Field 'id' expected a number but got ''. +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: '' + +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\.venv\Lib\site-packages\ninja\pagination.py", line 250, in view_with_pagination + items = func(request, **kwargs) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 28, in get_design_list + qs = Design.objects.filter(project__id=datafilter.project_id, dut__key=dut_key, + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ident__icontains=datafilter.ident, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + name__icontains=datafilter.name, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + demandType__contains=datafilter.demandType, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + chapter__icontains=datafilter.chapter).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 1481, 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 1499, 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 1506, 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 1643, 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 1675, 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 1585, 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 1412, 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 410, in get_prep_lookup + return super().get_prep_lookup() + ~~~~~~~~~~~~~~~~~~~~~~~^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\lookups.py", line 96, in get_prep_lookup + return self.lhs.output_field.get_prep_value(self.rhs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + 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 ''. +[ERROR][2025-05-07 10:41:03,907][log.py:248]Internal Server Error: /api/project/getDesignDemandList +[WARNING][2025-05-07 10:41:04,923][operation.py:133]"GET - DesignController[get_design_list] /api/project/getDesignDemandList" ("Field 'id' expected a number but got ''.",) +[ERROR][2025-05-07 10:41:04,924][errors.py:131]Field 'id' expected a number but got ''. +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: '' + +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\.venv\Lib\site-packages\ninja\pagination.py", line 250, in view_with_pagination + items = func(request, **kwargs) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 28, in get_design_list + qs = Design.objects.filter(project__id=datafilter.project_id, dut__key=dut_key, + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ident__icontains=datafilter.ident, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + name__icontains=datafilter.name, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + demandType__contains=datafilter.demandType, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + chapter__icontains=datafilter.chapter).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 1481, 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 1499, 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 1506, 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 1643, 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 1675, 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 1585, 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 1412, 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 410, in get_prep_lookup + return super().get_prep_lookup() + ~~~~~~~~~~~~~~~~~~~~~~~^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\lookups.py", line 96, in get_prep_lookup + return self.lhs.output_field.get_prep_value(self.rhs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + 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 ''. +[ERROR][2025-05-07 10:41:04,927][log.py:248]Internal Server Error: /api/project/getDesignDemandList +[WARNING][2025-05-07 10:41:06,942][operation.py:133]"GET - DesignController[get_design_list] /api/project/getDesignDemandList" ("Field 'id' expected a number but got ''.",) +[ERROR][2025-05-07 10:41:06,942][errors.py:131]Field 'id' expected a number but got ''. +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: '' + +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\.venv\Lib\site-packages\ninja\pagination.py", line 250, in view_with_pagination + items = func(request, **kwargs) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 28, in get_design_list + qs = Design.objects.filter(project__id=datafilter.project_id, dut__key=dut_key, + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ident__icontains=datafilter.ident, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + name__icontains=datafilter.name, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + demandType__contains=datafilter.demandType, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + chapter__icontains=datafilter.chapter).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 1481, 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 1499, 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 1506, 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 1643, 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 1675, 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 1585, 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 1412, 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 410, in get_prep_lookup + return super().get_prep_lookup() + ~~~~~~~~~~~~~~~~~~~~~~~^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\lookups.py", line 96, in get_prep_lookup + return self.lhs.output_field.get_prep_value(self.rhs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + 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 ''. +[ERROR][2025-05-07 10:41:06,949][log.py:248]Internal Server Error: /api/project/getDesignDemandList +[WARNING][2025-05-07 10:41:08,185][operation.py:133]"GET - DesignController[get_design_list] /api/project/getDesignDemandList" ("Field 'id' expected a number but got ''.",) +[ERROR][2025-05-07 10:41:08,186][errors.py:131]Field 'id' expected a number but got ''. +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: '' + +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\.venv\Lib\site-packages\ninja\pagination.py", line 250, in view_with_pagination + items = func(request, **kwargs) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 28, in get_design_list + qs = Design.objects.filter(project__id=datafilter.project_id, dut__key=dut_key, + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ident__icontains=datafilter.ident, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + name__icontains=datafilter.name, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + demandType__contains=datafilter.demandType, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + chapter__icontains=datafilter.chapter).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 1481, 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 1499, 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 1506, 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 1643, 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 1675, 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 1585, 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 1412, 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 410, in get_prep_lookup + return super().get_prep_lookup() + ~~~~~~~~~~~~~~~~~~~~~~~^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\lookups.py", line 96, in get_prep_lookup + return self.lhs.output_field.get_prep_value(self.rhs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + 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 ''. +[ERROR][2025-05-07 10:41:08,211][log.py:248]Internal Server Error: /api/project/getDesignDemandList +[WARNING][2025-05-07 10:41:09,236][operation.py:133]"GET - DesignController[get_design_list] /api/project/getDesignDemandList" ("Field 'id' expected a number but got ''.",) +[ERROR][2025-05-07 10:41:09,236][errors.py:131]Field 'id' expected a number but got ''. +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: '' + +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\.venv\Lib\site-packages\ninja\pagination.py", line 250, in view_with_pagination + items = func(request, **kwargs) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 28, in get_design_list + qs = Design.objects.filter(project__id=datafilter.project_id, dut__key=dut_key, + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ident__icontains=datafilter.ident, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + name__icontains=datafilter.name, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + demandType__contains=datafilter.demandType, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + chapter__icontains=datafilter.chapter).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 1481, 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 1499, 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 1506, 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 1643, 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 1675, 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 1585, 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 1412, 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 410, in get_prep_lookup + return super().get_prep_lookup() + ~~~~~~~~~~~~~~~~~~~~~~~^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\lookups.py", line 96, in get_prep_lookup + return self.lhs.output_field.get_prep_value(self.rhs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + 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 ''. +[ERROR][2025-05-07 10:41:09,243][log.py:248]Internal Server Error: /api/project/getDesignDemandList +[WARNING][2025-05-07 10:41:11,255][operation.py:133]"GET - DesignController[get_design_list] /api/project/getDesignDemandList" ("Field 'id' expected a number but got ''.",) +[ERROR][2025-05-07 10:41:11,256][errors.py:131]Field 'id' expected a number but got ''. +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: '' + +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\.venv\Lib\site-packages\ninja\pagination.py", line 250, in view_with_pagination + items = func(request, **kwargs) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 28, in get_design_list + qs = Design.objects.filter(project__id=datafilter.project_id, dut__key=dut_key, + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ident__icontains=datafilter.ident, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + name__icontains=datafilter.name, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + demandType__contains=datafilter.demandType, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + chapter__icontains=datafilter.chapter).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 1481, 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 1499, 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 1506, 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 1643, 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 1675, 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 1585, 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 1412, 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 410, in get_prep_lookup + return super().get_prep_lookup() + ~~~~~~~~~~~~~~~~~~~~~~~^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\lookups.py", line 96, in get_prep_lookup + return self.lhs.output_field.get_prep_value(self.rhs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + 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 ''. +[ERROR][2025-05-07 10:41:11,263][log.py:248]Internal Server Error: /api/project/getDesignDemandList +[WARNING][2025-05-07 10:42:09,637][operation.py:133]"GET - DesignController[get_design_list] /api/project/getDesignDemandList" ("Field 'id' expected a number but got ''.",) +[ERROR][2025-05-07 10:42:09,637][errors.py:131]Field 'id' expected a number but got ''. +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: '' + +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\.venv\Lib\site-packages\ninja\pagination.py", line 250, in view_with_pagination + items = func(request, **kwargs) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 28, in get_design_list + qs = Design.objects.filter(project__id=datafilter.project_id, dut__key=dut_key, + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ident__icontains=datafilter.ident, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + name__icontains=datafilter.name, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + demandType__contains=datafilter.demandType, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + chapter__icontains=datafilter.chapter).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 1481, 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 1499, 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 1506, 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 1643, 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 1675, 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 1585, 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 1412, 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 410, in get_prep_lookup + return super().get_prep_lookup() + ~~~~~~~~~~~~~~~~~~~~~~~^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\lookups.py", line 96, in get_prep_lookup + return self.lhs.output_field.get_prep_value(self.rhs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + 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 ''. +[ERROR][2025-05-07 10:42:09,644][log.py:248]Internal Server Error: /api/project/getDesignDemandList +[WARNING][2025-05-07 10:42:10,978][operation.py:133]"GET - DesignController[get_design_list] /api/project/getDesignDemandList" ("Field 'id' expected a number but got ''.",) +[ERROR][2025-05-07 10:42:10,979][errors.py:131]Field 'id' expected a number but got ''. +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: '' + +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\.venv\Lib\site-packages\ninja\pagination.py", line 250, in view_with_pagination + items = func(request, **kwargs) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 28, in get_design_list + qs = Design.objects.filter(project__id=datafilter.project_id, dut__key=dut_key, + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ident__icontains=datafilter.ident, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + name__icontains=datafilter.name, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + demandType__contains=datafilter.demandType, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + chapter__icontains=datafilter.chapter).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 1481, 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 1499, 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 1506, 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 1643, 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 1675, 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 1585, 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 1412, 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 410, in get_prep_lookup + return super().get_prep_lookup() + ~~~~~~~~~~~~~~~~~~~~~~~^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\lookups.py", line 96, in get_prep_lookup + return self.lhs.output_field.get_prep_value(self.rhs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + 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 ''. +[ERROR][2025-05-07 10:42:10,987][log.py:248]Internal Server Error: /api/project/getDesignDemandList +[WARNING][2025-05-07 10:43:11,516][operation.py:133]"GET - DesignController[get_design_list] /api/project/getDesignDemandList" ("Field 'id' expected a number but got ''.",) +[ERROR][2025-05-07 10:43:11,516][errors.py:131]Field 'id' expected a number but got ''. +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: '' + +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\.venv\Lib\site-packages\ninja\pagination.py", line 250, in view_with_pagination + items = func(request, **kwargs) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 29, in get_design_list + qs = Design.objects.filter(project__id=datafilter.project_id, dut__key=dut_key, + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ident__icontains=datafilter.ident, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + name__icontains=datafilter.name, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + demandType__contains=datafilter.demandType, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + chapter__icontains=datafilter.chapter).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 1481, 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 1499, 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 1506, 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 1643, 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 1675, 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 1585, 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 1412, 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 410, in get_prep_lookup + return super().get_prep_lookup() + ~~~~~~~~~~~~~~~~~~~~~~~^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\lookups.py", line 96, in get_prep_lookup + return self.lhs.output_field.get_prep_value(self.rhs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + 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 ''. +[ERROR][2025-05-07 10:43:11,523][log.py:248]Internal Server Error: /api/project/getDesignDemandList +[WARNING][2025-05-07 10:43:13,537][operation.py:133]"GET - DesignController[get_design_list] /api/project/getDesignDemandList" ("Field 'id' expected a number but got ''.",) +[ERROR][2025-05-07 10:43:13,537][errors.py:131]Field 'id' expected a number but got ''. +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: '' + +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\.venv\Lib\site-packages\ninja\pagination.py", line 250, in view_with_pagination + items = func(request, **kwargs) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 29, in get_design_list + qs = Design.objects.filter(project__id=datafilter.project_id, dut__key=dut_key, + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ident__icontains=datafilter.ident, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + name__icontains=datafilter.name, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + demandType__contains=datafilter.demandType, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + chapter__icontains=datafilter.chapter).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 1481, 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 1499, 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 1506, 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 1643, 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 1675, 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 1585, 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 1412, 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 410, in get_prep_lookup + return super().get_prep_lookup() + ~~~~~~~~~~~~~~~~~~~~~~~^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\lookups.py", line 96, in get_prep_lookup + return self.lhs.output_field.get_prep_value(self.rhs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + 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 ''. +[ERROR][2025-05-07 10:43:13,541][log.py:248]Internal Server Error: /api/project/getDesignDemandList +[WARNING][2025-05-07 10:43:14,722][operation.py:133]"GET - DesignController[get_design_list] /api/project/getDesignDemandList" ("Field 'id' expected a number but got ''.",) +[ERROR][2025-05-07 10:43:14,722][errors.py:131]Field 'id' expected a number but got ''. +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: '' + +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\.venv\Lib\site-packages\ninja\pagination.py", line 250, in view_with_pagination + items = func(request, **kwargs) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 29, in get_design_list + qs = Design.objects.filter(project__id=datafilter.project_id, dut__key=dut_key, + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ident__icontains=datafilter.ident, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + name__icontains=datafilter.name, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + demandType__contains=datafilter.demandType, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + chapter__icontains=datafilter.chapter).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 1481, 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 1499, 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 1506, 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 1643, 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 1675, 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 1585, 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 1412, 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 410, in get_prep_lookup + return super().get_prep_lookup() + ~~~~~~~~~~~~~~~~~~~~~~~^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\lookups.py", line 96, in get_prep_lookup + return self.lhs.output_field.get_prep_value(self.rhs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + 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 ''. +[ERROR][2025-05-07 10:43:14,732][log.py:248]Internal Server Error: /api/project/getDesignDemandList +[WARNING][2025-05-07 10:43:15,752][operation.py:133]"GET - DesignController[get_design_list] /api/project/getDesignDemandList" ("Field 'id' expected a number but got ''.",) +[ERROR][2025-05-07 10:43:15,752][errors.py:131]Field 'id' expected a number but got ''. +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: '' + +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\.venv\Lib\site-packages\ninja\pagination.py", line 250, in view_with_pagination + items = func(request, **kwargs) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 29, in get_design_list + qs = Design.objects.filter(project__id=datafilter.project_id, dut__key=dut_key, + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ident__icontains=datafilter.ident, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + name__icontains=datafilter.name, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + demandType__contains=datafilter.demandType, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + chapter__icontains=datafilter.chapter).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 1481, 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 1499, 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 1506, 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 1643, 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 1675, 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 1585, 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 1412, 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 410, in get_prep_lookup + return super().get_prep_lookup() + ~~~~~~~~~~~~~~~~~~~~~~~^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\lookups.py", line 96, in get_prep_lookup + return self.lhs.output_field.get_prep_value(self.rhs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + 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 ''. +[ERROR][2025-05-07 10:43:15,766][log.py:248]Internal Server Error: /api/project/getDesignDemandList +[WARNING][2025-05-07 10:43:54,656][operation.py:133]"GET - DesignController[get_design_list] /api/project/getDesignDemandList" ("Field 'id' expected a number but got ''.",) +[ERROR][2025-05-07 10:43:54,656][errors.py:131]Field 'id' expected a number but got ''. +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: '' + +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\.venv\Lib\site-packages\ninja\pagination.py", line 250, in view_with_pagination + items = func(request, **kwargs) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 29, in get_design_list + qs = Design.objects.filter(project__id=datafilter.project_id, dut__key=dut_key, + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ident__icontains=datafilter.ident, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + name__icontains=datafilter.name, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + demandType__contains=datafilter.demandType, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + chapter__icontains=datafilter.chapter).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 1481, 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 1499, 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 1506, 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 1643, 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 1675, 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 1585, 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 1412, 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 410, in get_prep_lookup + return super().get_prep_lookup() + ~~~~~~~~~~~~~~~~~~~~~~~^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\lookups.py", line 96, in get_prep_lookup + return self.lhs.output_field.get_prep_value(self.rhs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + 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 ''. +[ERROR][2025-05-07 10:43:54,672][log.py:248]Internal Server Error: /api/project/getDesignDemandList +[WARNING][2025-05-07 10:43:58,694][operation.py:133]"GET - DesignController[get_design_list] /api/project/getDesignDemandList" ("Field 'id' expected a number but got ''.",) +[ERROR][2025-05-07 10:43:58,694][errors.py:131]Field 'id' expected a number but got ''. +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: '' + +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\.venv\Lib\site-packages\ninja\pagination.py", line 250, in view_with_pagination + items = func(request, **kwargs) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 29, in get_design_list + qs = Design.objects.filter(project__id=datafilter.project_id, dut__key=dut_key, + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ident__icontains=datafilter.ident, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + name__icontains=datafilter.name, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + demandType__contains=datafilter.demandType, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + chapter__icontains=datafilter.chapter).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 1481, 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 1499, 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 1506, 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 1643, 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 1675, 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 1585, 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 1412, 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 410, in get_prep_lookup + return super().get_prep_lookup() + ~~~~~~~~~~~~~~~~~~~~~~~^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\lookups.py", line 96, in get_prep_lookup + return self.lhs.output_field.get_prep_value(self.rhs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + 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 ''. +[ERROR][2025-05-07 10:43:58,702][log.py:248]Internal Server Error: /api/project/getDesignDemandList +[WARNING][2025-05-07 10:44:10,283][operation.py:133]"GET - DesignController[get_design_list] /api/project/getDesignDemandList" ("Field 'id' expected a number but got ''.",) +[ERROR][2025-05-07 10:44:10,283][errors.py:131]Field 'id' expected a number but got ''. +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: '' + +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\.venv\Lib\site-packages\ninja\pagination.py", line 250, in view_with_pagination + items = func(request, **kwargs) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 29, in get_design_list + qs = Design.objects.filter(project__id=datafilter.project_id, dut__key=dut_key, + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ident__icontains=datafilter.ident, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + name__icontains=datafilter.name, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + demandType__contains=datafilter.demandType, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + chapter__icontains=datafilter.chapter).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 1481, 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 1499, 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 1506, 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 1643, 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 1675, 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 1585, 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 1412, 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 410, in get_prep_lookup + return super().get_prep_lookup() + ~~~~~~~~~~~~~~~~~~~~~~~^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\lookups.py", line 96, in get_prep_lookup + return self.lhs.output_field.get_prep_value(self.rhs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + 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 ''. +[ERROR][2025-05-07 10:44:10,300][log.py:248]Internal Server Error: /api/project/getDesignDemandList +[WARNING][2025-05-07 10:44:11,311][operation.py:133]"GET - DesignController[get_design_list] /api/project/getDesignDemandList" ("Field 'id' expected a number but got ''.",) +[ERROR][2025-05-07 10:44:11,311][errors.py:131]Field 'id' expected a number but got ''. +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: '' + +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\.venv\Lib\site-packages\ninja\pagination.py", line 250, in view_with_pagination + items = func(request, **kwargs) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 29, in get_design_list + qs = Design.objects.filter(project__id=datafilter.project_id, dut__key=dut_key, + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ident__icontains=datafilter.ident, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + name__icontains=datafilter.name, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + demandType__contains=datafilter.demandType, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + chapter__icontains=datafilter.chapter).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 1481, 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 1499, 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 1506, 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 1643, 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 1675, 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 1585, 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 1412, 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 410, in get_prep_lookup + return super().get_prep_lookup() + ~~~~~~~~~~~~~~~~~~~~~~~^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\lookups.py", line 96, in get_prep_lookup + return self.lhs.output_field.get_prep_value(self.rhs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + 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 ''. +[ERROR][2025-05-07 10:44:11,324][log.py:248]Internal Server Error: /api/project/getDesignDemandList +[WARNING][2025-05-07 10:44:15,269][operation.py:133]"GET - DesignController[get_design_list] /api/project/getDesignDemandList" ("Field 'id' expected a number but got ''.",) +[ERROR][2025-05-07 10:44:15,269][errors.py:131]Field 'id' expected a number but got ''. +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: '' + +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\.venv\Lib\site-packages\ninja\pagination.py", line 250, in view_with_pagination + items = func(request, **kwargs) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 29, in get_design_list + qs = Design.objects.filter(project__id=datafilter.project_id, dut__key=dut_key, + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ident__icontains=datafilter.ident, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + name__icontains=datafilter.name, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + demandType__contains=datafilter.demandType, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + chapter__icontains=datafilter.chapter).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 1481, 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 1499, 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 1506, 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 1643, 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 1675, 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 1585, 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 1412, 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 410, in get_prep_lookup + return super().get_prep_lookup() + ~~~~~~~~~~~~~~~~~~~~~~~^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\lookups.py", line 96, in get_prep_lookup + return self.lhs.output_field.get_prep_value(self.rhs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + 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 ''. +[ERROR][2025-05-07 10:44:15,279][log.py:248]Internal Server Error: /api/project/getDesignDemandList +[WARNING][2025-05-07 10:44:19,303][operation.py:133]"GET - DesignController[get_design_list] /api/project/getDesignDemandList" ("Field 'id' expected a number but got ''.",) +[ERROR][2025-05-07 10:44:19,303][errors.py:131]Field 'id' expected a number but got ''. +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: '' + +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\.venv\Lib\site-packages\ninja\pagination.py", line 250, in view_with_pagination + items = func(request, **kwargs) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 29, in get_design_list + qs = Design.objects.filter(project__id=datafilter.project_id, dut__key=dut_key, + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ident__icontains=datafilter.ident, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + name__icontains=datafilter.name, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + demandType__contains=datafilter.demandType, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + chapter__icontains=datafilter.chapter).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 1481, 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 1499, 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 1506, 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 1643, 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 1675, 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 1585, 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 1412, 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 410, in get_prep_lookup + return super().get_prep_lookup() + ~~~~~~~~~~~~~~~~~~~~~~~^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\lookups.py", line 96, in get_prep_lookup + return self.lhs.output_field.get_prep_value(self.rhs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + 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 ''. +[ERROR][2025-05-07 10:44:19,318][log.py:248]Internal Server Error: /api/project/getDesignDemandList +[WARNING][2025-05-07 10:45:08,818][operation.py:133]"GET - DesignController[get_design_list] /api/project/getDesignDemandList" ("Field 'id' expected a number but got ''.",) +[ERROR][2025-05-07 10:45:08,818][errors.py:131]Field 'id' expected a number but got ''. +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: '' + +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\.venv\Lib\site-packages\ninja\pagination.py", line 250, in view_with_pagination + items = func(request, **kwargs) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 29, in get_design_list + qs = Design.objects.filter(project__id=datafilter.project_id, dut__key=dut_key, + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ident__icontains=datafilter.ident, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + name__icontains=datafilter.name, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + demandType__contains=datafilter.demandType, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + chapter__icontains=datafilter.chapter).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 1481, 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 1499, 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 1506, 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 1643, 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 1675, 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 1585, 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 1412, 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 410, in get_prep_lookup + return super().get_prep_lookup() + ~~~~~~~~~~~~~~~~~~~~~~~^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\lookups.py", line 96, in get_prep_lookup + return self.lhs.output_field.get_prep_value(self.rhs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + 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 ''. +[ERROR][2025-05-07 10:45:08,822][log.py:248]Internal Server Error: /api/project/getDesignDemandList +[WARNING][2025-05-07 10:45:09,957][operation.py:133]"GET - DesignController[get_design_list] /api/project/getDesignDemandList" ("Field 'id' expected a number but got ''.",) +[ERROR][2025-05-07 10:45:09,957][errors.py:131]Field 'id' expected a number but got ''. +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: '' + +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\.venv\Lib\site-packages\ninja\pagination.py", line 250, in view_with_pagination + items = func(request, **kwargs) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 29, in get_design_list + qs = Design.objects.filter(project__id=datafilter.project_id, dut__key=dut_key, + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ident__icontains=datafilter.ident, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + name__icontains=datafilter.name, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + demandType__contains=datafilter.demandType, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + chapter__icontains=datafilter.chapter).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 1481, 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 1499, 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 1506, 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 1643, 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 1675, 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 1585, 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 1412, 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 410, in get_prep_lookup + return super().get_prep_lookup() + ~~~~~~~~~~~~~~~~~~~~~~~^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\lookups.py", line 96, in get_prep_lookup + return self.lhs.output_field.get_prep_value(self.rhs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + 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 ''. +[ERROR][2025-05-07 10:45:09,962][log.py:248]Internal Server Error: /api/project/getDesignDemandList +[WARNING][2025-05-07 10:45:10,976][operation.py:133]"GET - DesignController[get_design_list] /api/project/getDesignDemandList" ("Field 'id' expected a number but got ''.",) +[ERROR][2025-05-07 10:45:10,976][errors.py:131]Field 'id' expected a number but got ''. +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: '' + +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\.venv\Lib\site-packages\ninja\pagination.py", line 250, in view_with_pagination + items = func(request, **kwargs) + File "E:\pycharmProjects\cdtestplant_v1\apps\project\controllers\design.py", line 29, in get_design_list + qs = Design.objects.filter(project__id=datafilter.project_id, dut__key=dut_key, + ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ident__icontains=datafilter.ident, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + name__icontains=datafilter.name, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + demandType__contains=datafilter.demandType, + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + chapter__icontains=datafilter.chapter).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 1481, 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 1499, 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 1506, 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 1643, 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 1675, 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 1585, 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 1412, 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 410, in get_prep_lookup + return super().get_prep_lookup() + ~~~~~~~~~~~~~~~~~~~~~~~^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\lookups.py", line 96, in get_prep_lookup + return self.lhs.output_field.get_prep_value(self.rhs) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ + 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 ''. +[ERROR][2025-05-07 10:45:10,984][log.py:248]Internal Server Error: /api/project/getDesignDemandList +[WARNING][2025-05-07 16:13:06,500][log.py:248]Not Found: /api/project/getDesignOne/ +[WARNING][2025-05-07 16:13:43,229][log.py:248]Not Found: /api/project/getDesignOne/ +[WARNING][2025-05-07 16:13:48,127][log.py:248]Not Found: /api/project/getDesignOne/ +[WARNING][2025-05-07 16:14:16,225][log.py:248]Not Found: /api/project/getDesignOneById/ +[WARNING][2025-05-07 16:14:19,648][log.py:248]Not Found: /api/project/getDesignOneById/ +[WARNING][2025-05-07 16:14:49,096][operation.py:133]"GET - DesignController[get_one_by_id] /api/project/getDesignOneById" ([{'type': 'missing', 'loc': ('query', 'id'), 'msg': 'Field required'}],) +[WARNING][2025-05-07 16:14:49,104][log.py:248]Unprocessable Content: /api/project/getDesignOneById +[WARNING][2025-05-07 16:14:51,607][operation.py:133]"GET - DesignController[get_one_by_id] /api/project/getDesignOneById" ([{'type': 'missing', 'loc': ('query', 'id'), 'msg': 'Field required'}],) +[WARNING][2025-05-07 16:14:51,615][log.py:248]Unprocessable Content: /api/project/getDesignOneById +[WARNING][2025-05-07 16:15:37,031][operation.py:133]"GET - DesignController[get_one_by_id] /api/project/getDesignOneById" ([{'type': 'missing', 'loc': ('query', 'id'), 'msg': 'Field required'}],) +[WARNING][2025-05-07 16:15:37,042][log.py:248]Unprocessable Content: /api/project/getDesignOneById +[WARNING][2025-05-07 16:16:34,955][operation.py:133]"GET - DesignController[get_one_by_id] /api/project/getDesignOneById" ([{'type': 'missing', 'loc': ('query', 'id'), 'msg': 'Field required'}],) +[WARNING][2025-05-07 16:16:34,965][log.py:248]Unprocessable Content: /api/project/getDesignOneById +[WARNING][2025-05-07 16:16:40,964][operation.py:133]"GET - DesignController[get_one_by_id] /api/project/getDesignOneById" ([{'type': 'missing', 'loc': ('query', 'id'), 'msg': 'Field required'}],) +[WARNING][2025-05-07 16:16:40,974][log.py:248]Unprocessable Content: /api/project/getDesignOneById +[WARNING][2025-05-07 16:17:41,825][log.py:248]Not Found: /api/project/getDesignOneById/ +[WARNING][2025-05-07 16:17:45,267][log.py:248]Not Found: /api/project/getDesignOneById/ +[WARNING][2025-05-07 16:39:33,136][operation.py:133]"PUT - DesignController[update_design] /api/project/editDesignDemand/37" ([{'type': 'missing', 'loc': ('body', 'payload', 'round'), 'msg': 'Field required'}, {'type': 'missing', 'loc': ('body', 'payload', 'dut'), 'msg': 'Field required'}],) +[WARNING][2025-05-07 16:39:33,143][log.py:248]Unprocessable Content: /api/project/editDesignDemand/37 +[WARNING][2025-05-07 16:40:10,302][operation.py:133]"PUT - DesignController[update_design] /api/project/editDesignDemand/37" ([{'type': 'missing', 'loc': ('body', 'payload', 'round'), 'msg': 'Field required'}, {'type': 'missing', 'loc': ('body', 'payload', 'dut'), 'msg': 'Field required'}],) +[WARNING][2025-05-07 16:40:10,311][log.py:248]Unprocessable Content: /api/project/editDesignDemand/37 +[WARNING][2025-05-07 16:41:28,050][operation.py:133]"PUT - DesignController[update_design] /api/project/editDesignDemand/37" ([{'type': 'missing', 'loc': ('body', 'payload', 'round'), 'msg': 'Field required'}, {'type': 'missing', 'loc': ('body', 'payload', 'dut'), 'msg': 'Field required'}],) +[WARNING][2025-05-07 16:41:28,057][log.py:248]Unprocessable Content: /api/project/editDesignDemand/37 +[WARNING][2025-05-07 16:43:33,756][operation.py:133]"PUT - DesignController[update_design] /api/project/editDesignDemand/37" ('Design matching query does not exist.',) +[ERROR][2025-05-07 16:43:33,756][errors.py:131]Design matching query does not exist. +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\design.py", line 122, in update_design + design_qs = Design.objects.get(id=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 633, in get + raise self.model.DoesNotExist( + "%s matching query does not exist." % self.model._meta.object_name + ) +apps.project.models.Design.DoesNotExist: Design matching query does not exist. +[ERROR][2025-05-07 16:43:33,786][log.py:248]Internal Server Error: /api/project/editDesignDemand/37 +[WARNING][2025-05-07 19:40:06,745][operation.py:133]"PUT - DesignController[update_design] /api/project/editDesignDemand/3785" ([{'type': 'string_type', 'loc': ('body', 'payload', 'dut'), 'msg': 'Input should be a valid string'}],) +[WARNING][2025-05-07 19:40:06,755][log.py:248]Unprocessable Content: /api/project/editDesignDemand/3785 +[WARNING][2025-05-07 19:40:11,148][operation.py:133]"PUT - DesignController[update_design] /api/project/editDesignDemand/3786" ([{'type': 'string_type', 'loc': ('body', 'payload', 'dut'), 'msg': 'Input should be a valid string'}],) +[WARNING][2025-05-07 19:40:11,157][log.py:248]Unprocessable Content: /api/project/editDesignDemand/3786 +[WARNING][2025-05-07 19:40:14,499][operation.py:133]"PUT - DesignController[update_design] /api/project/editDesignDemand/3787" ([{'type': 'string_type', 'loc': ('body', 'payload', 'dut'), 'msg': 'Input should be a valid string'}],) +[WARNING][2025-05-07 19:40:14,509][log.py:248]Unprocessable Content: /api/project/editDesignDemand/3787 +[WARNING][2025-05-07 19:40:19,211][operation.py:133]"PUT - DesignController[update_design] /api/project/editDesignDemand/3786" ([{'type': 'string_type', 'loc': ('body', 'payload', 'dut'), 'msg': 'Input should be a valid string'}],) +[WARNING][2025-05-07 19:40:19,223][log.py:248]Unprocessable Content: /api/project/editDesignDemand/3786 +[WARNING][2025-05-07 19:40:42,463][operation.py:133]"PUT - DesignController[update_design] /api/project/editDesignDemand/3785" ([{'type': 'string_type', 'loc': ('body', 'payload', 'dut'), 'msg': 'Input should be a valid string'}],) +[WARNING][2025-05-07 19:40:42,473][log.py:248]Unprocessable Content: /api/project/editDesignDemand/3785 +[WARNING][2025-05-07 19:42:17,215][operation.py:133]"PUT - DesignController[update_design] /api/project/editDesignDemand/3785" ([{'type': 'string_type', 'loc': ('body', 'payload', 'dut'), 'msg': 'Input should be a valid string'}],) +[WARNING][2025-05-07 19:42:17,223][log.py:248]Unprocessable Content: /api/project/editDesignDemand/3785 +[WARNING][2025-05-07 19:55:56,930][operation.py:133]"PUT - DesignController[update_design] /api/project/editDesignDemand/3785" ([{'type': 'string_type', 'loc': ('body', 'payload', 'dut'), 'msg': 'Input should be a valid string'}],) +[WARNING][2025-05-07 19:55:56,937][log.py:248]Unprocessable Content: /api/project/editDesignDemand/3785 +[WARNING][2025-05-07 19:56:20,666][operation.py:133]"PUT - DesignController[update_design] /api/project/editDesignDemand/3785" ([{'type': 'string_type', 'loc': ('body', 'payload', 'dut'), 'msg': 'Input should be a valid string'}],) +[WARNING][2025-05-07 19:56:20,676][log.py:248]Unprocessable Content: /api/project/editDesignDemand/3785 +[WARNING][2025-05-07 19:57:24,262][operation.py:133]"PUT - DesignController[update_design] /api/project/editDesignDemand/3785" ([{'type': 'string_type', 'loc': ('body', 'payload', 'dut'), 'msg': 'Input should be a valid string'}],) +[WARNING][2025-05-07 19:57:24,272][log.py:248]Unprocessable Content: /api/project/editDesignDemand/3785 +[WARNING][2025-05-08 09:04:45,795][log.py:248]Unauthorized: /api/system/getInfo +[WARNING][2025-05-08 09:04:45,865][log.py:248]Unauthorized: /api/system/logout +[WARNING][2025-05-08 09:04:53,523][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2025-05-08 19:02:43,430][log.py:248]Not Found: /api/project/designDemand/replace/ +[WARNING][2025-05-08 19:21:09,059][operation.py:133]"POST - DesignController[replace_content] /api/project/designDemand/replace/" ("'ReplaceDesignContentSchema' object has no attribute 'id'",) +[ERROR][2025-05-08 19:21:09,059][errors.py:131]'ReplaceDesignContentSchema' object has no attribute 'id' +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\design.py", line 179, in replace_content + project_obj = get_object_or_404(Project, id=payload.id) + ^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\pydantic\main.py", line 994, in __getattr__ + raise AttributeError(f'{type(self).__name__!r} object has no attribute {item!r}') +AttributeError: 'ReplaceDesignContentSchema' object has no attribute 'id' +[ERROR][2025-05-08 19:21:09,096][log.py:248]Internal Server Error: /api/project/designDemand/replace/ +[WARNING][2025-05-08 19:32:22,476][operation.py:133]"POST - DesignController[replace_content] /api/project/designDemand/replace/" ("Cannot resolve keyword '依据相关' into field. Choices are: chapter, create_datetime, dcQuery, demandType, description, dtQuery, dut, dut_id, id, ident, key, level, name, odQuery, project, project_id, protocal, remark, round, round_id, sort, source, title, to, type, update_datetime",) +[ERROR][2025-05-08 19:32:22,476][errors.py:131]Cannot resolve keyword '依据相关' into field. Choices are: chapter, create_datetime, dcQuery, demandType, description, dtQuery, dut, dut_id, id, ident, key, level, name, odQuery, project, project_id, protocal, remark, round, round_id, sort, source, title, to, type, update_datetime +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\design.py", line 189, in replace_content + design_qs.update(**replace_kwargs) + ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\query.py", line 1233, in update + query.add_update_values(kwargs) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\sql\subqueries.py", line 106, in add_update_values + return self.add_update_fields(values_seq) + ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\sql\subqueries.py", line 120, in add_update_fields + val = val.resolve_expression(self, allow_joins=False, for_save=True) + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\expressions.py", line 300, in resolve_expression + expr.resolve_expression(query, allow_joins, reuse, summarize) + ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\expressions.py", line 902, in resolve_expression + return query.resolve_ref(self.name, allow_joins, reuse, summarize) + ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\sql\query.py", line 2046, in resolve_ref + join_info = self.setup_joins( + field_list, self.get_meta(), self.get_initial_alias(), can_reuse=reuse + ) + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\sql\query.py", line 1897, in setup_joins + path, final_field, targets, rest = self.names_to_path( + ~~~~~~~~~~~~~~~~~~^ + names[:pivot], + ^^^^^^^^^^^^^^ + ...<2 lines>... + fail_on_missing=True, + ^^^^^^^^^^^^^^^^^^^^^ + ) + ^ + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\django\db\models\sql\query.py", line 1802, in names_to_path + raise FieldError( + ...<2 lines>... + ) +django.core.exceptions.FieldError: Cannot resolve keyword '依据相关' into field. Choices are: chapter, create_datetime, dcQuery, demandType, description, dtQuery, dut, dut_id, id, ident, key, level, name, odQuery, project, project_id, protocal, remark, round, round_id, sort, source, title, to, type, update_datetime +[ERROR][2025-05-08 19:32:22,516][log.py:248]Internal Server Error: /api/project/designDemand/replace/ +[WARNING][2025-05-09 09:33:16,083][log.py:248]Unauthorized: /api/system/getInfo +[WARNING][2025-05-09 09:33:16,194][log.py:248]Unauthorized: /api/system/logout +[WARNING][2025-05-09 09:33:27,023][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2025-05-09 14:09:52,149][operation.py:133]"GET - DictController[get_dict] /api/system/dataDict/list" ([{'type': 'missing', 'loc': ('query', 'code'), 'msg': 'Field required'}],) +[WARNING][2025-05-09 14:09:52,149][log.py:248]Unprocessable Content: /api/system/dataDict/list +[WARNING][2025-05-09 14:09:55,442][operation.py:133]"GET - DictController[get_dict] /api/system/dataDict/list" ([{'type': 'missing', 'loc': ('query', 'code'), 'msg': 'Field required'}],) +[WARNING][2025-05-09 14:09:55,445][log.py:248]Unprocessable Content: /api/system/dataDict/list +[WARNING][2025-05-09 18:07:30,266][operation.py:133]"PUT - TestDemandController[update_testDemand] /api/project/testDemand/update/538" ([{'type': 'missing', 'loc': ('body', 'payload', 'designDemand'), 'msg': 'Field required'}],) +[WARNING][2025-05-09 18:07:30,274][log.py:248]Unprocessable Content: /api/project/testDemand/update/538 +[WARNING][2025-05-09 19:04:22,972][operation.py:133]"GET - TestDemandController[get_test_demand_list] /api/project/getTestDemandList" () +[ERROR][2025-05-09 19:04:22,972][errors.py:131]1 validation error for NinjaResponseSchema +response.items.0.design + Input should be a valid list [type=list_type, input_value=, input_type=Design] + For further information visit https://errors.pydantic.dev/2.11/v/list_type +Traceback (most recent call last): + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 216, 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 703, in model_validate + return cls.__pydantic_validator__.validate_python( + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ + obj, strict=strict, from_attributes=from_attributes, context=context, by_alias=by_alias, by_name=by_name + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ) + ^ +pydantic_core._pydantic_core.ValidationError: 1 validation error for NinjaResponseSchema +response.items.0.design + Input should be a valid list [type=list_type, input_value=, input_type=Design] + For further information visit https://errors.pydantic.dev/2.11/v/list_type +[ERROR][2025-05-09 19:04:23,013][log.py:248]Internal Server Error: /api/project/getTestDemandList +[WARNING][2025-05-09 19:04:34,284][operation.py:133]"GET - TestDemandController[get_test_demand_list] /api/project/getTestDemandList" () +[ERROR][2025-05-09 19:04:34,284][errors.py:131]1 validation error for NinjaResponseSchema +response.items.0.design + Input should be a valid list [type=list_type, input_value=, input_type=Design] + For further information visit https://errors.pydantic.dev/2.11/v/list_type +Traceback (most recent call last): + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 216, 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 703, in model_validate + return cls.__pydantic_validator__.validate_python( + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ + obj, strict=strict, from_attributes=from_attributes, context=context, by_alias=by_alias, by_name=by_name + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ) + ^ +pydantic_core._pydantic_core.ValidationError: 1 validation error for NinjaResponseSchema +response.items.0.design + Input should be a valid list [type=list_type, input_value=, input_type=Design] + For further information visit https://errors.pydantic.dev/2.11/v/list_type +[ERROR][2025-05-09 19:04:34,285][log.py:248]Internal Server Error: /api/project/getTestDemandList +[WARNING][2025-05-09 19:04:44,649][operation.py:133]"GET - TestDemandController[get_test_demand_list] /api/project/getTestDemandList" () +[ERROR][2025-05-09 19:04:44,649][errors.py:131]1 validation error for NinjaResponseSchema +response.items.0.design + Input should be a valid list [type=list_type, input_value=, input_type=Design] + For further information visit https://errors.pydantic.dev/2.11/v/list_type +Traceback (most recent call last): + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 216, 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 703, in model_validate + return cls.__pydantic_validator__.validate_python( + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ + obj, strict=strict, from_attributes=from_attributes, context=context, by_alias=by_alias, by_name=by_name + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ) + ^ +pydantic_core._pydantic_core.ValidationError: 1 validation error for NinjaResponseSchema +response.items.0.design + Input should be a valid list [type=list_type, input_value=, input_type=Design] + For further information visit https://errors.pydantic.dev/2.11/v/list_type +[ERROR][2025-05-09 19:04:44,650][log.py:248]Internal Server Error: /api/project/getTestDemandList +[WARNING][2025-05-09 19:05:27,213][operation.py:133]"GET - TestDemandController[get_test_demand_list] /api/project/getTestDemandList" () +[ERROR][2025-05-09 19:05:27,213][errors.py:131]1 validation error for NinjaResponseSchema +response.items.0.design + Input should be a valid list [type=list_type, input_value=, input_type=Design] + For further information visit https://errors.pydantic.dev/2.11/v/list_type +Traceback (most recent call last): + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 216, 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 703, in model_validate + return cls.__pydantic_validator__.validate_python( + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ + obj, strict=strict, from_attributes=from_attributes, context=context, by_alias=by_alias, by_name=by_name + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ) + ^ +pydantic_core._pydantic_core.ValidationError: 1 validation error for NinjaResponseSchema +response.items.0.design + Input should be a valid list [type=list_type, input_value=, input_type=Design] + For further information visit https://errors.pydantic.dev/2.11/v/list_type +[ERROR][2025-05-09 19:05:27,214][log.py:248]Internal Server Error: /api/project/getTestDemandList +[WARNING][2025-05-09 19:09:10,143][operation.py:133]"GET - DutController[get_one_by_id] /api/project/getDutOneById" (500, '未找到相应的数据') +[ERROR][2025-05-09 19:09:10,151][log.py:248]Internal Server Error: /api/project/getDutOneById +[WARNING][2025-05-09 19:13:20,485][operation.py:133]"GET - DutController[get_one_by_id] /api/project/getDutOneById" (500, '未找到相应的数据') +[ERROR][2025-05-09 19:13:20,494][log.py:248]Internal Server Error: /api/project/getDutOneById +[WARNING][2025-05-09 19:40:10,785][operation.py:133]"GET - DutController[get_one_by_id] /api/project/getDutOneById" (500, '未找到相应的数据') +[ERROR][2025-05-09 19:40:10,794][log.py:248]Internal Server Error: /api/project/getDutOneById +[WARNING][2025-05-09 19:40:24,209][operation.py:133]"GET - DutController[get_one_by_id] /api/project/getDutOneById" (500, '未找到相应的数据') +[ERROR][2025-05-09 19:40:24,218][log.py:248]Internal Server Error: /api/project/getDutOneById +[WARNING][2025-05-09 19:42:25,677][operation.py:133]"PUT - DesignController[update_design] /api/project/editDesignDemand/3788" ([{'type': 'string_type', 'loc': ('body', 'payload', 'dut'), 'msg': 'Input should be a valid string'}],) +[WARNING][2025-05-09 19:42:25,687][log.py:248]Unprocessable Content: /api/project/editDesignDemand/3788 +[WARNING][2025-05-09 19:43:26,061][operation.py:133]"PUT - DesignController[update_design] /api/project/editDesignDemand/3788" ([{'type': 'string_type', 'loc': ('body', 'payload', 'dut'), 'msg': 'Input should be a valid string'}],) +[WARNING][2025-05-09 19:43:26,073][log.py:248]Unprocessable Content: /api/project/editDesignDemand/3788 +[WARNING][2025-05-09 19:44:03,771][operation.py:133]"PUT - DesignController[update_design] /api/project/editDesignDemand/3788" ([{'type': 'string_type', 'loc': ('body', 'payload', 'dut'), 'msg': 'Input should be a valid string'}],) +[WARNING][2025-05-09 19:44:03,781][log.py:248]Unprocessable Content: /api/project/editDesignDemand/3788 +[WARNING][2025-05-09 19:44:30,349][operation.py:133]"PUT - DesignController[update_design] /api/project/editDesignDemand/3788" ([{'type': 'string_type', 'loc': ('body', 'payload', 'dut'), 'msg': 'Input should be a valid string'}],) +[WARNING][2025-05-09 19:44:30,361][log.py:248]Unprocessable Content: /api/project/editDesignDemand/3788 +[WARNING][2025-05-09 19:44:49,491][operation.py:133]"PUT - DesignController[update_design] /api/project/editDesignDemand/3788" ([{'type': 'string_type', 'loc': ('body', 'payload', 'dut'), 'msg': 'Input should be a valid string'}],) +[WARNING][2025-05-09 19:44:49,502][log.py:248]Unprocessable Content: /api/project/editDesignDemand/3788 +[WARNING][2025-05-09 19:55:19,627][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2025-05-10 11:17:01,022][log.py:248]Unauthorized: /api/system/getInfo +[WARNING][2025-05-10 11:17:01,096][log.py:248]Unauthorized: /api/system/logout +[WARNING][2025-05-10 11:17:11,230][backend.py:91]Caught LDAPError looking up user: SERVER_DOWN({'result': -1, 'desc': "Can't contact LDAP server", 'ctrls': []}) +[WARNING][2025-05-10 14:31:08,098][log.py:248]Not Found: /api/project/getCaseOne +[WARNING][2025-05-10 14:31:16,258][log.py:248]Not Found: /api/project/getCaseOne +[WARNING][2025-05-10 14:31:22,405][log.py:248]Not Found: /api/project/getCaseOne +[WARNING][2025-05-10 14:31:29,196][log.py:248]Not Found: /api/project/getCaseOne +[WARNING][2025-05-10 14:31:45,267][log.py:248]Not Found: /api/project/getCaseOne +[WARNING][2025-05-10 14:31:53,078][log.py:248]Not Found: /api/project/getCaseOne +[WARNING][2025-05-10 14:59:08,824][operation.py:133]"GET - CaseController[get_case_list] /api/project/getCaseList" () +[ERROR][2025-05-10 14:59:08,825][errors.py:131]9 validation errors for NinjaResponseSchema +response.items.0.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.1.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.2.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.3.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.4.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.5.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.6.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.7.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.8.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +Traceback (most recent call last): + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 216, 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 703, in model_validate + return cls.__pydantic_validator__.validate_python( + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ + obj, strict=strict, from_attributes=from_attributes, context=context, by_alias=by_alias, by_name=by_name + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ) + ^ +pydantic_core._pydantic_core.ValidationError: 9 validation errors for NinjaResponseSchema +response.items.0.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.1.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.2.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.3.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.4.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.5.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.6.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.7.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.8.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +[ERROR][2025-05-10 14:59:08,890][log.py:248]Internal Server Error: /api/project/getCaseList +[WARNING][2025-05-10 15:01:11,027][operation.py:133]"GET - CaseController[get_case_list] /api/project/getCaseList" () +[ERROR][2025-05-10 15:01:11,027][errors.py:131]9 validation errors for NinjaResponseSchema +response.items.0.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.1.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.2.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.3.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.4.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.5.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.6.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.7.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.8.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +Traceback (most recent call last): + File "E:\pycharmProjects\cdtestplant_v1\.venv\Lib\site-packages\ninja_extra\operation.py", line 216, 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 703, in model_validate + return cls.__pydantic_validator__.validate_python( + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ + obj, strict=strict, from_attributes=from_attributes, context=context, by_alias=by_alias, by_name=by_name + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ) + ^ +pydantic_core._pydantic_core.ValidationError: 9 validation errors for NinjaResponseSchema +response.items.0.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.1.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.2.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.3.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.4.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.5.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.6.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.7.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +response.items.8.test.testContent + Field required [type=missing, input_value=>, input_type=DjangoGetter] + For further information visit https://errors.pydantic.dev/2.11/v/missing +[ERROR][2025-05-10 15:01:11,055][log.py:248]Internal Server Error: /api/project/getCaseList +[WARNING][2025-05-10 15:09:34,732][operation.py:133]"PUT - TestDemandController[update_testDemand] /api/project/testDemand/update/538" ([{'type': 'missing', 'loc': ('body', 'payload', 'designDemand'), 'msg': 'Field required'}],) +[WARNING][2025-05-10 15:09:34,749][log.py:248]Unprocessable Content: /api/project/testDemand/update/538 +[WARNING][2025-05-10 18:38:58,880][log.py:248]Not Found: /api/project/case/personReplace/ +[WARNING][2025-05-10 18:39:30,827][log.py:248]Not Found: /api/project/case/personReplace/ +[WARNING][2025-05-10 18:40:42,444][log.py:248]Method Not Allowed: /api/project/case/personReplace/ +[WARNING][2025-05-10 18:43:09,517][operation.py:133]"GET - CaseController[bulk_replace_person] /api/project/case/personReplace/" ([{'type': 'missing', 'loc': ('body', 'selectRows'), 'msg': 'Field required'}],) +[WARNING][2025-05-10 18:43:09,526][log.py:248]Unprocessable Content: /api/project/case/personReplace/ +[WARNING][2025-05-10 18:45:03,555][operation.py:133]"GET - CaseController[bulk_replace_person] /api/project/case/personReplace/" ([{'type': 'missing', 'loc': ('body', 'selectRows'), 'msg': 'Field required'}],) +[WARNING][2025-05-10 18:45:03,563][log.py:248]Unprocessable Content: /api/project/case/personReplace/ +[WARNING][2025-05-10 18:45:32,259][operation.py:133]"GET - CaseController[bulk_replace_person] /api/project/case/personReplace/" ([{'type': 'missing', 'loc': ('body', 'selectRows'), 'msg': 'Field required'}],) +[WARNING][2025-05-10 18:45:32,269][log.py:248]Unprocessable Content: /api/project/case/personReplace/ +[WARNING][2025-05-10 18:45:35,891][operation.py:133]"GET - CaseController[bulk_replace_person] /api/project/case/personReplace/" ([{'type': 'missing', 'loc': ('body', 'selectRows'), 'msg': 'Field required'}],) +[WARNING][2025-05-10 18:45:35,901][log.py:248]Unprocessable Content: /api/project/case/personReplace/ +[WARNING][2025-05-10 18:47:11,820][operation.py:133]"GET - CaseController[bulk_replace_person] /api/project/case/personReplace/" ([{'type': 'missing', 'loc': ('body', 'selectRows'), 'msg': 'Field required'}],) +[WARNING][2025-05-10 18:47:11,830][log.py:248]Unprocessable Content: /api/project/case/personReplace/ +[WARNING][2025-05-10 18:47:59,564][operation.py:133]"GET - CaseController[bulk_replace_person] /api/project/case/personReplace/" ([{'type': 'missing', 'loc': ('body', 'selectRows'), 'msg': 'Field required'}],) +[WARNING][2025-05-10 18:47:59,579][log.py:248]Unprocessable Content: /api/project/case/personReplace/ +[WARNING][2025-05-10 19:15:32,945][operation.py:133]"POST - CaseController[bulk_replace_person] /api/project/case/personReplace/" ([{'type': 'missing', 'loc': ('body', 'payload', 'designPerson'), 'msg': 'Field required'}, {'type': 'missing', 'loc': ('body', 'payload', 'testPerson'), 'msg': 'Field required'}, {'type': 'missing', 'loc': ('body', 'payload', 'monitorPerson'), 'msg': 'Field required'}],) +[WARNING][2025-05-10 19:15:32,955][log.py:248]Unprocessable Content: /api/project/case/personReplace/