feat: 100% async - native async serializers (adata/asave/acreate), async cache (redis.asyncio), view call-site migration

This commit is contained in:
async-upgrade
2026-09-06 14:36:41 +08:00
parent 8f488fcaaa
commit 571641e539
18 changed files with 81 additions and 81 deletions
+5 -5
View File
@@ -144,8 +144,8 @@ class ArticleListCreateView(generics.ListCreateAPIView):
)
async def create(self, request, *args, **kwargs):
serializer = self.get_serializer(data=request.data)
if await sync_to_async(serializer.is_valid)():
await sync_to_async(serializer.save)()
if serializer.is_valid():
await serializer.asave()
await sync_to_async(track_task)(request.user, 'post')
data = await get_data(serializer)
return create_standardized_response(
@@ -218,8 +218,8 @@ class ArticleDetailView(APIView):
status_code=status.HTTP_403_FORBIDDEN
)
serializer = ArticleCreateUpdateSerializer(article, data=request.data, partial=True, context={'request': request})
if await sync_to_async(serializer.is_valid)():
await sync_to_async(serializer.save)()
if serializer.is_valid():
await serializer.asave()
data = await get_data(serializer)
return create_standardized_response(data=data, code=ResponseCode.SUCCESS, message='文章更新成功')
return create_standardized_error_response(
@@ -319,7 +319,7 @@ class ArticleCommentListCreateView(generics.ListCreateAPIView):
article_id = self.kwargs['article_id']
article = await aget_object_or_404(Article, pk=article_id)
serializer = self.get_serializer(data=request.data)
if await sync_to_async(serializer.is_valid)():
if serializer.is_valid():
def _save_and_notify():
with transaction.atomic():
comment = serializer.save(user=request.user, article=article)