1
0
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:
Grzegorz Nosek
2013-02-23 20:59:09 +01:00
committed by Jacob Kaplan-Moss
parent 2683e8ea20
commit d1e87eb3ba
2 changed files with 19 additions and 2 deletions

View File

@@ -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)