Я хочу построить 2 двухязыковых API. Я использую пользовательский обработчик исключений и пытаюсь отлавливать ошибки на сериализаторе, как это (убрал много стандартного кода). Клиент получит код ошибки и найдет собственный словарь.
Я хочу знать, есть ли лучший способ сделать это.
class OrgDuplicateName(APIException):
status_code = 500 # not 201
default_detail = ErrorCode.OrgDuplicateName.name
default_code = ErrorCode.OrgDuplicateName
class OrganizationSerializer(serializers.ModelSerializer):
class Meta:
model = Organization
fields = "__all__"
def is_valid(self, raise_exception=False):
if self._context["request"]._stream.method == "POST":
if Organization.objects.filter(name=self.initial_data["name"]).exists():
raise OrgDuplicateName
break
else:
return True