summaryrefslogtreecommitdiff
path: root/tests/model_options
diff options
context:
space:
mode:
authorchenesan <pipio1994@gmail.com>2016-02-24 15:10:09 +0800
committerTim Graham <timograham@gmail.com>2016-02-27 08:48:32 -0500
commitb84f5ab4ec2d1edbe9a7effa9f75a3caa189bace (patch)
tree6e9d4ef21e0e33ea0100b18a5dc0c890391da8e5 /tests/model_options
parent5fb9756eba01237cc0e550da689b9b79c51c96ed (diff)
downloaddjango-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.py16
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])