1 回答
TA贡献1847条经验 获得超11个赞
当一个序列化器被实例化并传递了 many=True 时,一个 ListSerializer 实例将被创建。然后序列化器类成为父 ListSerializer 的子级。ListSerializer 类提供了一次序列化和验证多个对象的行为。
当您可能想要自定义 ListSerializer 行为时,有一些用例。在您的情况下,您希望 ListSerializer 进行批量更新。您需要定义一个新的自定义 ListSerializer
class CustomListSerializer(serializers.ListSerializer):
...
def create(self, validated_data):
...
class CustomSerializer(serializers.Serializer):
...
class Meta:
list_serializer_class = CustomListSerializer
在你的情况下,它应该是
class UserListSerializer(serializers.ListSerializer):
...
def create(self, validated_data):
user = [User(**item) for item in validated_data]
return User.objects.bulk_create(User)
class UserSerializer(serializers.Serializer):
...
class Meta:
list_serializer_class = UserListSerializer
https://www.django-rest-framework.org/api-guide/serializers/#customizing-listserializer-behavior
添加回答
举报