django.shortcuts.get_object_or_404 does not support translation for error messages (i18n)

class WheatProvidingViewSet(viewsets.ModelViewSet):
    queryset = WheatProviding.objects.all()
    serializer_class = WheatProvidingSerializer

    def destroy(self, request, *args, **kwargs):
        instance = self.get_object()

The code above demonstrates a Django REST Framework (DRF) ModelViewSet. When a non-existent ID is provided, the destroy method raises a 404 Not Found error. However, the error message is not translated.

The root cause of this issue is that ModelViewSet relies on Django’s get_object_or_404 function, which does not support internationalization (i18n) for its error messages.

Could you consider adding support for translations in the get_object_or_404 function? This enhancement would allow DRF to natively support localized error messages, improving its usability in multilingual applications.

Thanks for the suggestion. I would be in favor of translating the message "No %s matches the given query." in the various functions in shortcuts, as this string is susceptible to be user-facing (which is the current rule for Django to decide if a string is translated or not).

Could you please open an issue in the Django ticket tracker to suggest that improvement?

opened an issue in the Django ticket tracker, thank you guys