2013-06-24 109 views
2

我正在按照教程here爲我的API創建基於泛型類的視圖 - 但是,我遇到了一個小問題。我想部分地更新視圖背後的模型。我以前可以通過在創建序列化程序時使用partial屬性來完成此操作。但是,似乎一旦我開始使用基於類的視圖,我就無法設置是否允許對模型進行部分更新。我如何覆蓋ModelSerializer的partial屬性?我的代碼非常簡單:Rest框架基於部分視圖的基於類的視圖

class DejavuUserDetail(generics.RetrieveUpdateAPIView): 
    ''' 
    Get a user or update a user 
    ''' 
    lookup_field = "email" 
    queryset = DejavuUser.objects.all() 
    serializer_class = UserSerializer 


class UserSerializer(serializers.ModelSerializer): 
    class Meta: 
    model = DejavuUser 
    partial = True 

    def restore_object(self, attrs, instance=None): 
    """ 
    Given a dictionary of deserialized field values, either update 
    an existing model instance, or create a new model instance. 
    """ 
    if instance is not None: 
     #set the required fields and return the instance 

我試圖通過PUT

回答

6

訪問API對於部分更新使用補丁。

另請注意,partial不是序列化器元類上的選項,而是在實例化序列化器時設置的。

+0

謝謝湯姆,工作。部分的任務只是我拼命嘗試任何東西。 – KerrM

相關問題