Django REST框架:使用请求方法进行验证

时间:2018-11-09 16:54:08

标签: django validation django-rest-framework

是否可以在下面的示例中与请求集一起验证请求方法(POST,PUT,GET ...)?

    def validate_title(self, value):
      qs = Place.objects.filter(title__iexact=value)
      if qs.exists():
        raise serializers.ValidationError("Duplicated title")

      return value

1 个答案:

答案 0 :(得分:1)

您可以使用以下序列化程序上下文来访问请求方法,

def validate_title(self, value):
    request_method = self.context['request'].method # change is here
    qs = Place.objects.filter(title__iexact=value)
    if qs.exists():
        raise serializers.ValidationError("Duplicated title")

    return value