diff --git a/modeltranslation/manager.py b/modeltranslation/manager.py index 7cf2b18..271e839 100644 --- a/modeltranslation/manager.py +++ b/modeltranslation/manager.py @@ -525,7 +525,7 @@ else: # Django >=1.8 fields += tuple(f for f in self.annotation_names if f not in fields) for row in super(FallbackValuesListQuerySet, self).iterator(): - if self.flat and len(fields) == 1: + if self.flat and len(self.original_fields) == 1: yield row[fields[0]] else: yield tuple(row[f] for f in fields) diff --git a/modeltranslation/tests/tests.py b/modeltranslation/tests/tests.py index 920f24b..0533858 100644 --- a/modeltranslation/tests/tests.py +++ b/modeltranslation/tests/tests.py @@ -2608,6 +2608,10 @@ class TestManager(ModeltranslationTestBase): 'description': None, 'description_en': None, 'description_de': None}, ]) + # annotation issue (#374) + self.assertEqual(list(manager.values_list('title', flat=True).annotate(Count('title'))), + ['en']) + def test_values_list_annotation(self): models.TestModel(title='foo').save() models.TestModel(title='foo').save()