summaryrefslogtreecommitdiff
path: root/tests/invalid_models_tests/test_relative_fields.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/invalid_models_tests/test_relative_fields.py')
-rw-r--r--tests/invalid_models_tests/test_relative_fields.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/invalid_models_tests/test_relative_fields.py b/tests/invalid_models_tests/test_relative_fields.py
index 5a791d1fcc..82e5a954bd 100644
--- a/tests/invalid_models_tests/test_relative_fields.py
+++ b/tests/invalid_models_tests/test_relative_fields.py
@@ -1537,6 +1537,32 @@ class ExplicitRelatedQueryNameClashTests(SimpleTestCase):
@isolate_apps("invalid_models_tests")
+class RelatedQueryNameClashWithManagerTests(SimpleTestCase):
+ def test_clash_between_related_query_name_and_manager(self):
+ class Author(models.Model):
+ authors = models.Manager()
+ mentor = models.ForeignKey(
+ "self", related_name="authors", on_delete=models.CASCADE
+ )
+
+ self.assertEqual(
+ Author.check(),
+ [
+ Error(
+ "Related name 'authors' for 'Author.mentor' clashes with the name "
+ "of a model manager.",
+ hint=(
+ "Rename the model manager or change the related_name argument "
+ "in the definition for field 'Author.mentor'."
+ ),
+ obj=Author._meta.get_field("mentor"),
+ id="fields.E348",
+ )
+ ],
+ )
+
+
+@isolate_apps("invalid_models_tests")
class SelfReferentialM2MClashTests(SimpleTestCase):
def test_clash_between_accessors(self):
class Model(models.Model):