djangorest_framework“serializers.ValidationError”和“exceptions.ValidationError”有什么区别

问题描述 投票:0回答:1

我想知道,django rest_framework 之间是否有任何差异:

from rest_framework.exceptions import ValidationError
from rest_framework.serializers import ValidationError

因为它们的进口方式不同。

django-rest-framework
1个回答
0
投票

rest_framework.exceptions.ValidationError
用于序列化器之外的一般验证错误,

rest_framework.serializers.ValidationError
专门用于序列化器类中的验证错误。

from rest_framework.exceptions import ValidationError

的示例
def my_view(request):
    # Example validation in a view
    if not request.user.is_authenticated:
        raise ValidationError("User must be authenticated to access this endpoint")

from rest_framework.serializers import ValidationError

的示例
from rest_framework import serializers

class MySerializer(serializers.Serializer):
    username = serializers.CharField(max_length=100)
    email = serializers.EmailField()

    def validate_username(self, value):
        if len(value) < 3:
            raise serializers.ValidationError("Username must be at least 3 characters long.")
        return value
© www.soinside.com 2019 - 2024. All rights reserved.