1 回答

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊
當(dāng)一個(gè)序列化器被實(shí)例化并傳遞了 many=True 時(shí),一個(gè) ListSerializer 實(shí)例將被創(chuàng)建。然后序列化器類成為父 ListSerializer 的子級(jí)。ListSerializer 類提供了一次序列化和驗(yàn)證多個(gè)對(duì)象的行為。
當(dāng)您可能想要自定義 ListSerializer 行為時(shí),有一些用例。在您的情況下,您希望 ListSerializer 進(jìn)行批量更新。您需要定義一個(gè)新的自定義 ListSerializer
class CustomListSerializer(serializers.ListSerializer):
...
def create(self, validated_data):
...
class CustomSerializer(serializers.Serializer):
...
class Meta:
list_serializer_class = CustomListSerializer
在你的情況下,它應(yīng)該是
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
添加回答
舉報(bào)