diff options
author | Y3K <dboy.y3k@gmail.com> | 2015-08-30 23:18:03 -0500 |
---|---|---|
committer | Josh Smeaton <josh.smeaton@gmail.com> | 2015-08-31 15:13:59 +1000 |
commit | cbcf78fa949091e037861d66d942d7fb31d57bf6 (patch) | |
tree | a2c9d1a7563511fbfbab9111f1d2ddb22ea2b81e /tests/select_related | |
parent | 7a98442f9645102601c5a18b2ff93b7433e3a01d (diff) | |
download | django-cbcf78fa949091e037861d66d942d7fb31d57bf6.tar.gz |
Fixed #25252 -- Added friendly error message on incorrect .select_related() use
Using select_related() after .values() or .values_list() is not possible
because .values() or .values_list() already got the values they need.
Diffstat (limited to 'tests/select_related')
-rw-r--r-- | tests/select_related/tests.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/select_related/tests.py b/tests/select_related/tests.py index 9a027ac18c..53353a7715 100644 --- a/tests/select_related/tests.py +++ b/tests/select_related/tests.py @@ -163,6 +163,26 @@ class SelectRelatedTests(TestCase): self.assertEqual(obj.parent_1, parent_1) self.assertEqual(obj.parent_2, parent_2) + def test_select_related_after_values(self): + """ + Running select_related() after calling values() raises a TypeError + """ + + message = "Cannot call select_related() after .values() or .values_list()" + + with self.assertRaisesMessage(TypeError, message): + list(Species.objects.values('name').select_related('genus')) + + def test_select_related_after_values_list(self): + """ + Running select_related() after calling values_list() raises a TypeError + """ + + message = "Cannot call select_related() after .values() or .values_list()" + + with self.assertRaisesMessage(TypeError, message): + list(Species.objects.values_list('name').select_related('genus')) + class SelectRelatedValidationTests(SimpleTestCase): """ |