diff options
| author | chenesan <pipio1994@gmail.com> | 2016-02-24 15:10:09 +0800 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2016-02-27 08:48:32 -0500 |
| commit | b84f5ab4ec2d1edbe9a7effa9f75a3caa189bace (patch) | |
| tree | 6e9d4ef21e0e33ea0100b18a5dc0c890391da8e5 /tests/model_options | |
| parent | 5fb9756eba01237cc0e550da689b9b79c51c96ed (diff) | |
| download | django-b84f5ab4ec2d1edbe9a7effa9f75a3caa189bace.tar.gz | |
Fixed #26230 -- Made default_related_name affect related_query_name.
Diffstat (limited to 'tests/model_options')
| -rw-r--r-- | tests/model_options/test_default_related_name.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/model_options/test_default_related_name.py b/tests/model_options/test_default_related_name.py index ddfc659dda..695a3b856b 100644 --- a/tests/model_options/test_default_related_name.py +++ b/tests/model_options/test_default_related_name.py @@ -1,4 +1,7 @@ +import warnings + from django.test import TestCase +from django.utils.deprecation import RemovedInDjango20Warning from .models.default_related_name import Author, Book, Editor @@ -18,6 +21,19 @@ class DefaultRelatedNameTests(TestCase): def test_default_related_name(self): self.assertEqual(list(self.author.books.all()), [self.book]) + def test_default_related_name_in_queryset_lookup(self): + self.assertEqual(Author.objects.get(books=self.book), self.author) + + def test_show_deprecated_message_when_model_name_in_queryset_lookup(self): + msg = "Query lookup 'book' is deprecated in favor of Meta.default_related_name 'books'." + with warnings.catch_warnings(record=True) as warns: + warnings.simplefilter('once') + Author.objects.get(book=self.book) + self.assertEqual(len(warns), 1) + warning = warns.pop() + self.assertEqual(warning.category, RemovedInDjango20Warning) + self.assertEqual(str(warning.message), msg) + def test_related_name_overrides_default_related_name(self): self.assertEqual(list(self.editor.edited_books.all()), [self.book]) |
