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
添加回答
舉報
