diff options
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): |
