много try-except, по сути вьюхи состоят из жирного try-except.
                  
                  
                  в них происходит обработка типовых ошибок - например, если возникла какая-то проблема с бд, то кидаем на фронт server error, если key error - invalid request и т.д.
                  
                  
                  т.е. задача в том, чтобы фронт получал конкретную информацию о том, что именно пошло не так на сервере. нужно детализировать ошибки. 
                  
                  
                  при этом все ошибки повторяются и обрабатываются в общем случае одинаково, поэтому я хочу вынести всю обработку ошибок в одно-единственное место в коде. 
                  
                  
                  что для этого можно использовать?
                  
                  
                
Custom exception handler drf
Я делаю словарь с ошибками, типа такого: errors = { "error_foo": _("bar"), "error_bar": _("foo"), } Рядом с сериалайзерами. Потом ошибки вызываю так raise serializers.ValidationError(errors['error_foo'])
Это только ошибки валидации, ошибки вроде integrity error наверное так не выкинуть
Обсуждают сегодня