summaryrefslogtreecommitdiff
path: root/tests/basic
diff options
context:
space:
mode:
Diffstat (limited to 'tests/basic')
-rw-r--r--tests/basic/tests.py22
1 files changed, 21 insertions, 1 deletions
diff --git a/tests/basic/tests.py b/tests/basic/tests.py
index 328ddc31f1..b29dda64f7 100644
--- a/tests/basic/tests.py
+++ b/tests/basic/tests.py
@@ -4,7 +4,7 @@ from datetime import datetime, timedelta
from django.core.exceptions import MultipleObjectsReturned, ObjectDoesNotExist
from django.db import DEFAULT_DB_ALIAS, DatabaseError, connections, models
from django.db.models.manager import BaseManager
-from django.db.models.query import EmptyQuerySet, QuerySet
+from django.db.models.query import MAX_GET_RESULTS, EmptyQuerySet, QuerySet
from django.test import (
SimpleTestCase, TestCase, TransactionTestCase, skipUnlessDBFeature,
)
@@ -387,6 +387,26 @@ class ModelTest(TestCase):
# Fields that weren't deleted aren't reloaded.
self.assertEqual(article.pub_date, new_pub_date)
+ def test_multiple_objects_max_num_fetched(self):
+ max_results = MAX_GET_RESULTS - 1
+ Article.objects.bulk_create(
+ Article(headline='Area %s' % i, pub_date=datetime(2005, 7, 28))
+ for i in range(max_results)
+ )
+ self.assertRaisesMessage(
+ MultipleObjectsReturned,
+ 'get() returned more than one Article -- it returned %d!' % max_results,
+ Article.objects.get,
+ headline__startswith='Area',
+ )
+ Article.objects.create(headline='Area %s' % max_results, pub_date=datetime(2005, 7, 28))
+ self.assertRaisesMessage(
+ MultipleObjectsReturned,
+ 'get() returned more than one Article -- it returned more than %d!' % max_results,
+ Article.objects.get,
+ headline__startswith='Area',
+ )
+
class ModelLookupTest(TestCase):
@classmethod