gpt4 book ai didi

python - 在一个端点 django rest 框架中使用两个不同的序列化程序

转载 作者:太空宇宙 更新时间:2023-11-03 13:26:17 24 4
gpt4 key购买 nike

我正在尝试在端点中使用两个不同的序列化程序,但我分配的第二个序列化程序 (UserSerializer) 是正在使用的序列化程序。有没有一种方法可以让一个特定的序列化程序用于一个特定的模型,以便我可以使用 userSerializer 创建用户并使用 CategorySerializer 创建类别。

class UserSignup(generics.CreateAPIView):
model = Category
serializer_class = CategorySerializer

model = User
serializer_class = UserSerializer
def create(self, request):
data = request.data
category_serializer = self.get_serializer(data=request.data, many=True)
user_serializer = self.get_serializer(data=request.data, many=True)

最佳答案

在一个 API View 中只能有一个序列化程序类。如果想使用两个序列化器,你可以像这样使用它。

class UserSignup(generics.CreateAPIView):
model = Category
serializer_class = CategorySerializer

def create(self, request):
data = request.data
category_serializer = self.get_serializer(data=request.data, many=True)
user_serializer = UserSerializer(data=request.data, many=True)

或者如果真的想为第二个序列化器也有一些方法,你可以这样做

class UserSignup(generics.CreateAPIView):
model = Category
serializer_class = CategorySerializer

def get_user_serializer(*args, **kwargs):
# you can have some logic here...
return UserSerializer(*args, **kwargs)


def create(self, request):
data = request.data
category_serializer = self.get_serializer(data=request.data, many=True)
user_serializer = self.get_user_serializer(data=request.data, many=True)

关于python - 在一个端点 django rest 框架中使用两个不同的序列化程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55148301/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com