From 16cd0d6624dcc7faee783faa90a5717495eccecb Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Wed, 14 May 2025 22:49:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=93=8D=E5=BA=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- operation/pagination.py | 7 +++++ operation/views.py | 68 ++++++++++++++++++++++++++++++----------- 2 files changed, 57 insertions(+), 18 deletions(-) diff --git a/operation/pagination.py b/operation/pagination.py index febb3cc..b4a8671 100644 --- a/operation/pagination.py +++ b/operation/pagination.py @@ -8,6 +8,13 @@ class CustomPagination(PageNumberPagination): max_page_size = 100 def get_paginated_response(self, data): + # 为每个结果添加name字段,从platforms中提取平台名称 + for item in data: + if 'platforms' in item and len(item['platforms']) > 0: + # 添加name字段,只使用platform_name + platform = item['platforms'][0] + item['name'] = platform.get('platform_name', '') + return Response({ "code": 200, "message": "获取数据成功", diff --git a/operation/views.py b/operation/views.py index 2cfbfc7..9963126 100644 --- a/operation/views.py +++ b/operation/views.py @@ -118,10 +118,14 @@ class PlatformAccountViewSet(viewsets.ModelViewSet): # 提取平台信息并放入platforms字段 platform_info = { "platform_name": account_data.pop("platform_name"), - "account_url": account_data.pop("account_url") + "account_url": account_data.pop("account_url"), + "account_id": account_data.pop("account_id"), + "account_name": account_data.pop("account_name") } - # 添加platforms字段 - account_data["platforms"] = platform_info + # 添加platforms字段作为数组 + account_data["platforms"] = [platform_info] + # 添加name字段,只用platform_name + account_data["name"] = platform_info["platform_name"] restructured_data.append(account_data) # 使用自定义分页器的响应,但替换数据 @@ -135,10 +139,14 @@ class PlatformAccountViewSet(viewsets.ModelViewSet): # 提取平台信息并放入platforms字段 platform_info = { "platform_name": account_data.pop("platform_name"), - "account_url": account_data.pop("account_url") + "account_url": account_data.pop("account_url"), + "account_id": account_data.pop("account_id"), + "account_name": account_data.pop("account_name") } - # 添加platforms字段 - account_data["platforms"] = platform_info + # 添加platforms字段作为数组 + account_data["platforms"] = [platform_info] + # 添加name字段,只用platform_name + account_data["name"] = platform_info["platform_name"] restructured_data.append(account_data) return Response({ @@ -156,10 +164,14 @@ class PlatformAccountViewSet(viewsets.ModelViewSet): # 提取平台信息并放入platforms字段 platform_info = { "platform_name": account_data.pop("platform_name"), - "account_url": account_data.pop("account_url") + "account_url": account_data.pop("account_url"), + "account_id": account_data.pop("account_id"), + "account_name": account_data.pop("account_name") } # 添加platforms字段 - account_data["platforms"] = platform_info + account_data["platforms"] = [platform_info] + # 添加name字段,只用platform_name + account_data["name"] = platform_info["platform_name"] return Response({ "code": 200, @@ -180,10 +192,14 @@ class PlatformAccountViewSet(viewsets.ModelViewSet): # 提取平台信息并放入platforms字段 platform_info = { "platform_name": account_data.pop("platform_name"), - "account_url": account_data.pop("account_url") + "account_url": account_data.pop("account_url"), + "account_id": account_data.pop("account_id"), + "account_name": account_data.pop("account_name") } # 添加platforms字段 - account_data["platforms"] = platform_info + account_data["platforms"] = [platform_info] + # 添加name字段 + account_data["name"] = platform_info["platform_name"] + " | " + platform_info["account_name"] return Response({ "code": 200, @@ -234,11 +250,15 @@ class PlatformAccountViewSet(viewsets.ModelViewSet): # 提取平台信息并放入platforms字段 platform_info = { "platform_name": account_data.pop("platform_name"), - "account_url": account_data.pop("account_url") + "account_url": account_data.pop("account_url"), + "account_id": account_data.pop("account_id"), + "account_name": account_data.pop("account_name") } # 添加platforms字段 - account_data["platforms"] = platform_info + account_data["platforms"] = [platform_info] + # 添加name字段,只用platform_name + account_data["name"] = platform_info["platform_name"] restructured_data.append(account_data) return Response({ @@ -294,10 +314,14 @@ class PlatformAccountViewSet(viewsets.ModelViewSet): # 提取平台信息并放入platforms字段 platform_info = { "platform_name": account_data.pop("platform_name"), - "account_url": account_data.pop("account_url") + "account_url": account_data.pop("account_url"), + "account_id": account_data.pop("account_id"), + "account_name": account_data.pop("account_name") } # 添加platforms字段 - account_data["platforms"] = platform_info + account_data["platforms"] = [platform_info] + # 添加name字段,只用platform_name + account_data["name"] = platform_info["platform_name"] return Response({ "code": 200, @@ -338,10 +362,14 @@ class PlatformAccountViewSet(viewsets.ModelViewSet): # 提取平台信息并放入platforms字段 platform_info = { "platform_name": platform_data.pop("platform_name"), - "account_url": platform_data.pop("account_url") + "account_url": platform_data.pop("account_url"), + "account_id": platform_data.pop("account_id"), + "account_name": platform_data.pop("account_name") } # 添加platforms字段 - platform_data["platforms"] = platform_info + platform_data["platforms"] = [platform_info] + # 添加name字段,只用platform_name + platform_data["name"] = platform_info["platform_name"] return Response({ "code": 200, @@ -401,10 +429,14 @@ class PlatformAccountViewSet(viewsets.ModelViewSet): # 提取平台信息并放入platforms字段 platform_info = { "platform_name": platform_data.pop("platform_name"), - "account_url": platform_data.pop("account_url") + "account_url": platform_data.pop("account_url"), + "account_id": platform_data.pop("account_id"), + "account_name": platform_data.pop("account_name") } # 添加platforms字段 - platform_data["platforms"] = platform_info + platform_data["platforms"] = [platform_info] + # 添加name字段,只用platform_name + platform_data["name"] = platform_info["platform_name"] return Response({ "code": 200,