Django Rest,如何更新viewset中对象的单个字段?我获得所需字段的IntegrityError

Django Rest,如何更新viewset中对象的单个字段?我获得所需字段的IntegrityError,django,django-rest-framework,django-rest-viewsets,Django,Django Rest Framework,Django Rest Viewsets,现在我有了一个大的catalog对象,通过一个请求,我想修改它的一个字段(其余字段将保持不变)。我有必填字段,因此在执行修补程序请求时出现此错误 null value in column "team_id" of relation "Catalogs_catalog" violates not-null constraint DETAIL: Failing row contains (ecf8ede4-1438-441b-8e45-152658512d2

现在我有了一个大的catalog对象,通过一个请求,我想修改它的一个字段(其余字段将保持不变)。我有必填字段,因此在执行修补程序请求时出现此错误

null value in column "team_id" of relation "Catalogs_catalog" violates not-null constraint
DETAIL:  Failing row contains (ecf8ede4-1438-441b-8e45-152658512d27, null, [], {}, [], Europe/Moscow, t, null, ["a@a.com"]).

我将viewset用于目录视图,并向其添加了一个额外操作,以便发送修补程序请求以更新字段

视图.py

    @action(methods=['patch'], detail=True, url_path='add_to_whitelist', url_name='add_to_whitelist')
    def add_to_whitelist(self, request, pk=None):
        catalog = self.get_object()
        users_to_add = request.data
        serializer = WhiteListUpdateSerializer(data=users_to_add,  partial=True)
        if serializer.is_valid():
            serializer.save()
            return Response({"message": "Saved the new white list."}, 201)
        return Response({"message":"Error creating white list.", "error": serializer.errors}, 400)
class WhiteListUpdateSerializer(serializers.ModelSerializer):
    class Meta:
        model = Catalog
        fields = ('whitelist_users',)
序列化程序.py

    @action(methods=['patch'], detail=True, url_path='add_to_whitelist', url_name='add_to_whitelist')
    def add_to_whitelist(self, request, pk=None):
        catalog = self.get_object()
        users_to_add = request.data
        serializer = WhiteListUpdateSerializer(data=users_to_add,  partial=True)
        if serializer.is_valid():
            serializer.save()
            return Response({"message": "Saved the new white list."}, 201)
        return Response({"message":"Error creating white list.", "error": serializer.errors}, 400)
class WhiteListUpdateSerializer(serializers.ModelSerializer):
    class Meta:
        model = Catalog
        fields = ('whitelist_users',)
partial=True
或重写部分更新无效。我是DRF的新手,我在这里缺少什么?

改变

WhiteListUpdateSerializer(data=users_to_add,  partial=True)

改变


非常感谢你!!!非常感谢你!!!