validated_data 中的 Django 序列化程序更新方法密钥错误

Django serializer update method key error in validated_data

我正在使用 django rest 框架为多个应用程序提供 api。与这些应用程序共享的单个模型。每个应用程序都在使用一些其他应用程序没有使用的字段。我必须在序列化程序上编写更新方法,并根据从这些应用程序收到的字段值采取行动。当我编写更新方法时,万一 django 找不到任何密钥,它就会抛出错误。让我们看看代码: 型号:

class TaskChecker(models.Model):
    taskName=models.CharField(max_length=50)
    notified = models.BooleanField (default=False)
    isDeleteRequest = models.BooleanField (default=False)
    isDeactivateMe = models.BooleanField (default=False)
    isActive = models.BooleanField (default=False)


class TaskSerializer(serializers.ModelSerializer):
    class Meta:
        model=TaskChecker
        fields='__all__'
    
    def update(self, instance, validated_data):
        isDeleteRequest = validated_data['isDeleteRequest']
        do some task
        isActive= validated_data['isActive']
        do some task

现在的情况是我会得到 validated_data['isDeleteRequest'] 或 validated_data['isActive']。在那种情况下,我得到关键错误。如何解决这个问题?如果我当时没有拿到钥匙,我应该不会出错。请帮忙。非常感谢....

在 TaskSerializer 中改用 dict get 方法。

class TaskSerializer(serializers.ModelSerializer):
    class Meta:
        model=TaskChecker
        fields='__all__'
    
    def update(self, instance, validated_data):
        isDeleteRequest = validated_data.get('isDeleteRequest', False)
        do some task
        isActive= validated_data.get('isActive', False)
        do some task