summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorBernd Wechner <bernd.wechner@gmail.com>2021-09-22 15:53:10 +1000
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2021-10-06 12:33:15 +0200
commit2116238d5f2ce19571becb5620ef16ce9048db9f (patch)
tree944939c00a338cf4b3ff807119a032859412aa1c /django
parent402ae37873974afa5093e6d6149175a118979cd9 (diff)
Fixed #33131 -- Improved error messages for clashing reverse accessor names.
Diffstat (limited to 'django')
-rw-r--r--django/db/models/fields/related.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/django/db/models/fields/related.py b/django/db/models/fields/related.py
index 8070457088..2e8c87c1b1 100644
--- a/django/db/models/fields/related.py
+++ b/django/db/models/fields/related.py
@@ -239,7 +239,9 @@ class RelatedField(FieldCacheMixin, Field):
if not rel_is_hidden and clash_field.name == rel_name:
errors.append(
checks.Error(
- "Reverse accessor for '%s' clashes with field name '%s'." % (field_name, clash_name),
+ f"Reverse accessor '{rel_opts.object_name}.{rel_name}' "
+ f"for '{field_name}' clashes with field name "
+ f"'{clash_name}'.",
hint=("Rename field '%s', or add/change a related_name "
"argument to the definition for field '%s'.") % (clash_name, field_name),
obj=self,
@@ -271,7 +273,9 @@ class RelatedField(FieldCacheMixin, Field):
if not rel_is_hidden and clash_field.get_accessor_name() == rel_name:
errors.append(
checks.Error(
- "Reverse accessor for '%s' clashes with reverse accessor for '%s'." % (field_name, clash_name),
+ f"Reverse accessor '{rel_opts.object_name}.{rel_name}' "
+ f"for '{field_name}' clashes with reverse accessor for "
+ f"'{clash_name}'.",
hint=("Add or change a related_name argument "
"to the definition for '%s' or '%s'.") % (field_name, clash_name),
obj=self,