您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何使用Django Rest Framework创建多个模型实例?

如何使用Django Rest Framework创建多个模型实例?

我知道这个问题是在不久前问到的,但是我在试图自己解决这个问题时就发现了。

事实证明,如果many=True在实例化模型的序列化器类时通过,则它可以接受多个对象。

django rest框架文档在这里提到了这一点

就我而言,我的观点如下所示:

class ThingViewSet(viewsets.ModelViewSet):
    """This view provides list, detail, create, retrieve, update
    and destroy actions for Things."""
    model = Thing
    serializer_class = ThingSerializer

我并不是真的想写一个样板文件只是为了直接控制序列化器和pass的实例化many=True,所以在我的序列化器类中,我重写了__init__

class ThingSerializer(serializers.ModelSerializer):
    def __init__(self, *args, **kwargs):
        many = kwargs.pop('many', True)
        super(ThingSerializer, self).__init__(many=many, *args, **kwargs)

    class Meta:
        model = Thing
        fields = ('loads', 'of', 'fields', )

以以下格式将数据发布到该视图的列表URL:

[
    {'loads':'foo','of':'bar','fields':'buzz'},
    {'loads':'fizz','of':'bazz','fields':'errrrm'}
]

使用这些详细信息创建了两个资源。很好

Go 2022/1/1 18:22:34 有324人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶