2014-02-26 63 views
0

我正在一個非常簡單的應用程序,只有1個模型與幾個字段。我只希望通過/ admin頁面(通過標準的Django管理框架)創建或刪除這些模型,並允許其餘的api框架只改變這些對象。只允許在Django休息api框架更新

有沒有簡單的方法來實現它?

+0

我不明白你的問題。你想禁用管理中的更新,只允許通過休息框架更新? – fasouto

+0

@fasouto我想禁用在其他框架中創建和刪除並啓用更新 –

回答

1

只需創建一個使用更新/檢索模型混合的視圖集。

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

這隻會給你一個APIEnd點來檢索或更新模型的一個實例。

1

你需要設置http_method_names

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

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

如果你只想更新對象使用UpdateApiView。有了這個視圖,您將爲model創建更新(PUT方法)。任何懷疑都遵循Documentation DRF中的文檔。

+0

歡迎來到SO!只是包含鏈接並不是一個好的答案。隨着時間的推移,鏈接可能無法訪問。請閱讀此[如何問](http://stackoverflow.com/help/how-to-ask)以遵循該指南。 – thewaywewere