diff options
Diffstat (limited to 'tests/invalid_models_tests/test_relative_fields.py')
| -rw-r--r-- | tests/invalid_models_tests/test_relative_fields.py | 26 |
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): |
