diff options
Diffstat (limited to 'django')
| -rw-r--r-- | django/urls/converters.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/django/urls/converters.py b/django/urls/converters.py index 9652823508..9b44430580 100644 --- a/django/urls/converters.py +++ b/django/urls/converters.py @@ -1,5 +1,8 @@ import functools import uuid +import warnings + +from django.utils.deprecation import RemovedInDjango60Warning class IntConverter: @@ -53,6 +56,15 @@ REGISTERED_CONVERTERS = {} def register_converter(converter, type_name): + if type_name in REGISTERED_CONVERTERS or type_name in DEFAULT_CONVERTERS: + # RemovedInDjango60Warning: when the deprecation ends, replace with + # raise ValueError(f"Converter {type_name} is already registered.") + warnings.warn( + f"Converter {type_name!r} is already registered. Support for overriding " + "registered converters is deprecated and will be removed in Django 6.0.", + RemovedInDjango60Warning, + stacklevel=2, + ) REGISTERED_CONVERTERS[type_name] = converter() get_converters.cache_clear() |
