summaryrefslogtreecommitdiff
path: root/tests/annotations
diff options
context:
space:
mode:
Diffstat (limited to 'tests/annotations')
-rw-r--r--tests/annotations/tests.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/annotations/tests.py b/tests/annotations/tests.py
index 6336cabafa..69a2b4a7c7 100644
--- a/tests/annotations/tests.py
+++ b/tests/annotations/tests.py
@@ -482,6 +482,17 @@ class NonAggregateAnnotationTestCase(TestCase):
with self.assertRaisesMessage(FieldError, expected_message % article_fields):
Book.objects.annotate(annotation=Value(1)).values_list("annotation_typo")
+ def test_chained_values_masked_annotation_error_message(self):
+ msg = (
+ "Cannot select the 'author_id' alias. It was excluded by a "
+ "previous values() or values_list() call. Include 'author_id' in "
+ "that call to select it."
+ )
+ with self.assertRaisesMessage(FieldError, msg):
+ Book.objects.annotate(
+ author_name=F("authors__name"), author_id=F("authors__id")
+ ).values("author_name").values("author_id")
+
def test_decimal_annotation(self):
salary = Decimal(10) ** -Employee._meta.get_field("salary").decimal_places
Employee.objects.create(