mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
Fixed #6785 -- Made QuerySet.get() fetch a limited number of rows.
Co-authored-by: Tim Graham <timograham@gmail.com> Co-authored-by: Patryk Zawadzki <patrys@room-303.com> Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
This commit is contained in:
committed by
Mariusz Felisiak
parent
7c3732a1b4
commit
330638b89f
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user