diff options
| author | Kaustubh <55352418+kc611@users.noreply.github.com> | 2020-08-22 11:23:50 +0530 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2020-08-26 09:43:39 +0200 |
| commit | b9be11d44265308863e4e8cfb458cd3605091452 (patch) | |
| tree | cf3ad9584a62bcd031c83b333fdd6bba0905b266 /tests | |
| parent | 547a07fa7ec4364ea9ecd2aabfdd16ee4c63003c (diff) | |
Fixed #31918 -- Allowed QuerySet.in_bulk() to fetch on a single distinct field.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/lookup/tests.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/lookup/tests.py b/tests/lookup/tests.py index 3d8a801933..9094542808 100644 --- a/tests/lookup/tests.py +++ b/tests/lookup/tests.py @@ -207,6 +207,24 @@ class LookupTests(TestCase): with self.assertRaisesMessage(ValueError, msg): Article.objects.in_bulk([self.au1], field_name='author') + @skipUnlessDBFeature('can_distinct_on_fields') + def test_in_bulk_distinct_field(self): + self.assertEqual( + Article.objects.order_by('headline').distinct('headline').in_bulk( + [self.a1.headline, self.a5.headline], + field_name='headline', + ), + {self.a1.headline: self.a1, self.a5.headline: self.a5}, + ) + + @skipUnlessDBFeature('can_distinct_on_fields') + def test_in_bulk_multiple_distinct_field(self): + msg = "in_bulk()'s field_name must be a unique field but 'pub_date' isn't." + with self.assertRaisesMessage(ValueError, msg): + Article.objects.order_by('headline', 'pub_date').distinct( + 'headline', 'pub_date', + ).in_bulk(field_name='pub_date') + @isolate_apps('lookup') def test_in_bulk_non_unique_meta_constaint(self): class Model(models.Model): |
