diff options
| author | Salvo Polizzi <plzslv03@studium.unict.it> | 2024-02-22 12:04:03 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2024-02-23 15:54:49 +0100 |
| commit | 6e1ece7ed522c904a674966fa985159b7bbf1545 (patch) | |
| tree | 6b6c5ea0322d1185eac261302420f13a4f162b43 /django | |
| parent | 50e95ad5367a4a93f94a66a645f9c126f0609f0a (diff) | |
Fixed #35090 -- Deprecated registering URL converters with the same name.
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() |
