[英]Using two different serializer in one endpoint django rest framework
我正在嘗試在端點中使用兩個不同的序列化程序,但我指定的第二個序列化程序(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視圖中只能有一個序列化程序類。 如果想要使用兩個序列化程序,您可以像這樣使用它。
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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.