如何在Django rest serializ中批量创建

2024-05-20 02:31:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我曾经使用allow_add_remove=True在django rest 2.0中可用于编写可嵌套序列化程序,但在3.0中不可用,我很难实现它。

我想做这样的事

class UserSerialzier():
    project = ProjectSerilaizer(many=True, allow_add_remove=True, read_only=False)


class ProjectSerialzier():
    ideas = IdeaSerilaizer(many=True, allow_add_remove=True, read_only=False)
    sources = SourceSerilaizer(many=True, allow_add_remove=True, read_only=False)

class IdeaSerialzier():
    pass

class SourceSerialzier():
    pass      

现在我不知道如何在DRF 3.0中实现allow_add_remove行为

我很困惑我是否需要重写UserSerializer的createupdate方法

或者我需要为每个模型创建单独的理想化工具

class IdeaListSerializer(serializers.ListSerializer):
    def create(self, validated_data):
        ideas = [Idea(**item) for item in validated_data]
        return Ideas.objects.bulk_create(books)

Tags: addfalsetrueonlyreaddatacreatepass
1条回答
网友
1楼 · 发布于 2024-05-20 02:31:09

是的,您确实需要重写createupdate方法。

我花了很多时间试图使嵌套的可写序列化程序与DRF 2.x一起工作,我修复的问题越多,角落用例的问题就越多。

因此,Tom决定由开发人员来处理创建和更新。

用于1嵌套级别创建的documentation provides an example与用于更新和/或更多嵌套级别的documentation provides an example相同

相关问题 更多 >