仅允许在Django rest api框架中更新

时间:2014-02-26 16:03:37

标签: python django rest django-rest-framework

我正在开发一个非常简单的应用程序,它只有一个带有几个字段的模型。我希望只通过/ admin页面(通过标准的Django管理框架)创建或删除这些模型,并允许其余的api框架只改变这些对象。

有没有简单的方法来实现它?

3 个答案:

答案 0 :(得分:2)

您需要设置http_method_names,如下所示:

class WebViewSet(mixins.CreateModelMixin,
                 mixins.ListModelMixin,
                 mixins.UpdateModelMixin,
                 viewsets.GenericViewSet):

    model = WebTransaction
    http_method_names = ('get', 'put')

答案 1 :(得分:1)

只需创建一个使用更新/检索模型mixen的视图集。

from rest_framwork import viewsets, mixins
class FooViewSet(mixens.RetrieveModelMixin,
                 mixins.UpdateModelMixin,
                 viewsets.GenericViewSet):
    model = Foo
    queryset = Foo.objects.all()
    serializer_class = FooSerializer

这只会给你一个APIEnd点来检索或更新你的模型实例。

答案 2 :(得分:0)

如果您只想更新对象,请使用UpdateApiView。使用此视图,您将为您的模型创建更新(PUT方法)。任何疑问都遵循Documentation DRF中的文档。