summaryrefslogtreecommitdiff
path: root/django/utils/deconstruct.py
diff options
context:
space:
mode:
authorAllen Jonathan David <allenajdjonathan@gmail.com>2022-01-01 18:38:27 +0530
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2022-01-04 13:15:29 +0100
commit205f67cd5bea242fac6b0380fa26570505d07dcb (patch)
tree824ebd134a63bd3f8908287b258819fc71071885 /django/utils/deconstruct.py
parent194ca77092a2507a57c288c35b279eb2cb4a64fb (diff)
downloaddjango-205f67cd5bea242fac6b0380fa26570505d07dcb.tar.gz
Refs #33216 -- Made @deconstructible do not change path for subclasses.
Diffstat (limited to 'django/utils/deconstruct.py')
-rw-r--r--django/utils/deconstruct.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/django/utils/deconstruct.py b/django/utils/deconstruct.py
index aa952f6b73..9d073902f3 100644
--- a/django/utils/deconstruct.py
+++ b/django/utils/deconstruct.py
@@ -23,7 +23,7 @@ def deconstructible(*args, path=None):
and keyword arguments.
"""
# Fallback version
- if path:
+ if path and type(obj) is klass:
module_name, _, name = path.rpartition('.')
else:
module_name = obj.__module__
@@ -40,7 +40,9 @@ def deconstructible(*args, path=None):
"https://docs.djangoproject.com/en/%s/topics/migrations/#serializing-values"
% (name, module_name, get_docs_version()))
return (
- path or '%s.%s' % (obj.__class__.__module__, name),
+ path
+ if path and type(obj) is klass
+ else f'{obj.__class__.__module__}.{name}',
obj._constructor_args[0],
obj._constructor_args[1],
)