Dav*_*rez 3 python django django-serializer 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)Run Code Online (Sandbox Code Playgroud)
一个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)
Run Code Online (Sandbox Code Playgroud)
或者,如果真的也想为第二个序列化器提供某种方法,则可以
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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
547 次 |
| 最近记录: |