Opened 10 months ago
Last modified 2 months ago
#36142 closed Cleanup/optimization
django.shortcuts.get_object_or_404 does not support translation for error messages (i18n) — at Initial Version
| Reported by: | Abror Izzatullaev | Owned by: | |
|---|---|---|---|
| Component: | Internationalization | Version: | 5.2 |
| Severity: | Normal | Keywords: | i18 Internationalization |
| Cc: | Triage Stage: | Ready for checkin | |
| Has patch: | yes | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
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.