mirror of
https://github.com/django/django.git
synced 2025-10-26 07:06:08 +00:00
[1.5.x] Fixed #19895 -- Made second iteration over invalid queryset raise an exception too
When iteration over a queryset raised an exception, the result cache
remained initialized with an empty list, so subsequent iterations returned
an empty list instead of raising an exception
Backport of 2cd0edaa47 from master.
This commit is contained in:
committed by
Jacob Kaplan-Moss
parent
2683e8ea20
commit
d1e87eb3ba
@@ -2,7 +2,7 @@ from __future__ import absolute_import, unicode_literals
|
||||
|
||||
from datetime import datetime
|
||||
|
||||
from django.core.exceptions import ObjectDoesNotExist, MultipleObjectsReturned
|
||||
from django.core.exceptions import ObjectDoesNotExist, MultipleObjectsReturned, FieldError
|
||||
from django.db.models.fields import Field, FieldDoesNotExist
|
||||
from django.test import TestCase, skipIfDBFeature, skipUnlessDBFeature
|
||||
from django.utils import six
|
||||
@@ -639,3 +639,8 @@ class ModelTest(TestCase):
|
||||
Article.objects.bulk_create([Article(headline=lazy, pub_date=datetime.now())])
|
||||
article = Article.objects.get()
|
||||
self.assertEqual(article.headline, notlazy)
|
||||
|
||||
def test_invalid_qs_list(self):
|
||||
qs = Article.objects.order_by('invalid_column')
|
||||
self.assertRaises(FieldError, list, qs)
|
||||
self.assertRaises(FieldError, list, qs)
|
||||
Reference in New Issue
Block a user