feat: 100% async - native async serializers (adata/asave/acreate), async cache (redis.asyncio), view call-site migration
This commit is contained in:
+9
-9
@@ -117,8 +117,8 @@ class CourseListCreateView(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()
|
||||
data = await get_data(serializer)
|
||||
return create_standardized_response(
|
||||
data=data,
|
||||
@@ -188,8 +188,8 @@ class CourseDetailView(APIView):
|
||||
status_code=status.HTTP_403_FORBIDDEN
|
||||
)
|
||||
serializer = CourseCreateUpdateSerializer(course, 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(
|
||||
@@ -278,7 +278,7 @@ class ChapterListCreateView(generics.ListCreateAPIView):
|
||||
course_id = self.kwargs['course_id']
|
||||
course = await aget_object_or_404(Course, pk=course_id)
|
||||
serializer = self.get_serializer(data=request.data)
|
||||
if await sync_to_async(serializer.is_valid)():
|
||||
if serializer.is_valid():
|
||||
await sync_to_async(serializer.save)(course=course)
|
||||
data = await get_data(serializer)
|
||||
return create_standardized_response(
|
||||
@@ -336,8 +336,8 @@ class ChapterDetailView(APIView):
|
||||
async def put(self, request, pk):
|
||||
chapter = await aget_object_or_404(Chapter, pk=pk)
|
||||
serializer = ChapterSerializer(chapter, data=request.data, partial=True)
|
||||
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(
|
||||
@@ -414,8 +414,8 @@ class ChapterContentView(APIView):
|
||||
defaults={'content_md': '', 'content_html': ''}
|
||||
)
|
||||
serializer = ChapterContentSerializer(content, data=request.data, partial=True)
|
||||
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(
|
||||
|
||||
Reference in New Issue
Block a user