mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
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.
This commit is contained in:
@@ -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):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user