要保存嵌套的Django序列化器,您可以按照以下步骤进行操作:
ParentSerializer
的父序列化器和一个名为ChildSerializer
的子序列化器。from rest_framework import serializers
class ChildSerializer(serializers.ModelSerializer):
class Meta:
model = Child
fields = '__all__'
class ParentSerializer(serializers.ModelSerializer):
children = ChildSerializer(many=True)
class Meta:
model = Parent
fields = '__all__'
from rest_framework.views import APIView
from rest_framework.response import Response
from .serializers import ParentSerializer
class ParentView(APIView):
def post(self, request):
serializer = ParentSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data)
return Response(serializer.errors)
from django.urls import path
from .views import ParentView
urlpatterns = [
path('parents/', ParentView.as_view()),
]
这样,当您向/parents/
发送POST请求时,Django将使用ParentView
处理请求,并且嵌套的序列化器数据将被保存。
请注意,上述示例仅涵盖了基本的保存嵌套序列化器的过程。根据您的具体需求,您可能需要进行其他处理,如验证、数据转换等。