diff options
| author | Takayuki Hirayama <hirayama@atama.plus> | 2021-06-04 00:32:55 +0900 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2021-06-04 07:23:16 +0200 |
| commit | 0393b9262dcf1b8302d35a8a470e14837ca1300b (patch) | |
| tree | 3a455c3a9dad1f709b8da909cfc6def3fe25a697 /tests | |
| parent | f10c52afabac25f2c10aca26d32dbe7e0e46082e (diff) | |
Fixed #32812 -- Restored immutability of named values from QuerySet.values_list().
Regression in 981a072dd4dec586f8fc606712ed9a2ef116eeee.
Thanks pirelle for the report.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/model_utils/__init__.py | 0 | ||||
| -rw-r--r-- | tests/model_utils/tests.py | 10 | ||||
| -rw-r--r-- | tests/prefetch_related/tests.py | 7 |
3 files changed, 17 insertions, 0 deletions
diff --git a/tests/model_utils/__init__.py b/tests/model_utils/__init__.py new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/tests/model_utils/__init__.py diff --git a/tests/model_utils/tests.py b/tests/model_utils/tests.py new file mode 100644 index 0000000000..be4dd4300b --- /dev/null +++ b/tests/model_utils/tests.py @@ -0,0 +1,10 @@ +from django.db.models.utils import create_namedtuple_class +from django.test import SimpleTestCase + + +class NamedTupleClassTests(SimpleTestCase): + def test_immutability(self): + row_class = create_namedtuple_class('field1', 'field2') + row = row_class('value1', 'value2') + with self.assertRaises(AttributeError): + row.field3 = 'value3' diff --git a/tests/prefetch_related/tests.py b/tests/prefetch_related/tests.py index e21bd5ec23..cba1897fc5 100644 --- a/tests/prefetch_related/tests.py +++ b/tests/prefetch_related/tests.py @@ -309,6 +309,13 @@ class PrefetchRelatedTests(TestDataMixin, TestCase): list(Book.objects.prefetch_related(relation)) self.assertEqual(add_q_mock.call_count, 1) + def test_named_values_list(self): + qs = Author.objects.prefetch_related('books') + self.assertCountEqual( + [value.name for value in qs.values_list('name', named=True)], + ['Anne', 'Charlotte', 'Emily', 'Jane'], + ) + class RawQuerySetTests(TestDataMixin, TestCase): def test_basic(self): |
