1
0
mirror of https://github.com/django/django.git synced 2025-02-02 05:40:39 +00:00

Fixed #35266 -- Deferred formatting in RelatedField._check_clashes().

This commit is contained in:
Adam Johnson 2024-03-04 19:26:23 +00:00 committed by GitHub
parent 368a8a3a83
commit ab22b7c65f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -264,9 +264,8 @@ class RelatedField(FieldCacheMixin, Field):
# model_set and it clashes with Target.model_set.
potential_clashes = rel_opts.fields + rel_opts.many_to_many
for clash_field in potential_clashes:
# i.e. "app_label.Target.model_set".
clash_name = "%s.%s" % (rel_opts.label, clash_field.name)
if not rel_is_hidden and clash_field.name == rel_name:
clash_name = f"{rel_opts.label}.{clash_field.name}"
errors.append(
checks.Error(
f"Reverse accessor '{rel_opts.object_name}.{rel_name}' "
@ -283,6 +282,7 @@ class RelatedField(FieldCacheMixin, Field):
)
if clash_field.name == rel_query_name:
clash_name = f"{rel_opts.label}.{clash_field.name}"
errors.append(
checks.Error(
"Reverse query name for '%s' clashes with field name '%s'."
@ -302,12 +302,10 @@ class RelatedField(FieldCacheMixin, Field):
# Model.m2m accessor.
potential_clashes = (r for r in rel_opts.related_objects if r.field is not self)
for clash_field in potential_clashes:
# i.e. "app_label.Model.m2m".
clash_name = "%s.%s" % (
clash_field.related_model._meta.label,
clash_field.field.name,
)
if not rel_is_hidden and clash_field.accessor_name == rel_name:
clash_name = (
f"{clash_field.related_model._meta.label}.{clash_field.field.name}"
)
errors.append(
checks.Error(
f"Reverse accessor '{rel_opts.object_name}.{rel_name}' "
@ -324,6 +322,9 @@ class RelatedField(FieldCacheMixin, Field):
)
if clash_field.accessor_name == rel_query_name:
clash_name = (
f"{clash_field.related_model._meta.label}.{clash_field.field.name}"
)
errors.append(
checks.Error(
"Reverse query name for '%s' clashes with reverse query name "