summaryrefslogtreecommitdiff
path: root/tests/select_related
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2015-10-09 21:03:04 -0400
committerTim Graham <timograham@gmail.com>2015-10-10 09:48:50 -0400
commit67732a9b183d2e84c85147b04fdf9499f4395ac6 (patch)
tree86ffa81542c884a7c38f71ff3443732139c65e4b /tests/select_related
parent5171f56faeb9ec27153c7e7319c96d3fba774ea5 (diff)
downloaddjango-67732a9b183d2e84c85147b04fdf9499f4395ac6.tar.gz
Fixed #24687 -- Added select_related() validation for nested non-relational fields.
The removed test was added in the original select_related() validation patch (45d4e43d2d25b902e3821b612209afa951a8bcb8), but there doesn't seem to be any reason for it. Thanks Claude Paroz for help and review.
Diffstat (limited to 'tests/select_related')
-rw-r--r--tests/select_related/tests.py10
1 files changed, 4 insertions, 6 deletions
diff --git a/tests/select_related/tests.py b/tests/select_related/tests.py
index b8acd586a6..93d96c9665 100644
--- a/tests/select_related/tests.py
+++ b/tests/select_related/tests.py
@@ -134,12 +134,6 @@ class SelectRelatedTests(TestCase):
orders = [o.genus.family.order.name for o in world]
self.assertEqual(orders, ['Agaricales'])
- def test_single_related_field(self):
- with self.assertNumQueries(1):
- species = Species.objects.select_related('genus__name')
- names = [s.genus.name for s in species]
- self.assertEqual(sorted(names), ['Amanita', 'Drosophila', 'Homo', 'Pisum'])
-
def test_field_traversal(self):
with self.assertNumQueries(1):
s = (Species.objects.all()
@@ -206,6 +200,10 @@ class SelectRelatedValidationTests(SimpleTestCase):
with self.assertRaisesMessage(FieldError, self.non_relational_error % ('name', '(none)')):
list(Domain.objects.select_related('name'))
+ def test_non_relational_field_nested(self):
+ with self.assertRaisesMessage(FieldError, self.non_relational_error % ('name', 'family')):
+ list(Species.objects.select_related('genus__name'))
+
def test_many_to_many_field(self):
with self.assertRaisesMessage(FieldError, self.invalid_error % ('toppings', '(none)')):
list(Pizza.objects.select_related('toppings'))