1
0
mirror of https://github.com/django/django.git synced 2025-10-27 15:46:10 +00:00

[1.5.x] Fixed #21203 -- resolve_columns fields misalignment

In queries using .defer() together with .select_related() the values
and fields arguments didn't align properly for resolve_columns().

Backpatch of 8c27247397 from master.
This commit is contained in:
Michael Manfre
2013-10-01 21:34:39 +03:00
committed by Anssi Kääriäinen
parent 997a332cbb
commit 7ebd10019d
3 changed files with 21 additions and 4 deletions

View File

@@ -23,7 +23,8 @@ from .models import (Annotation, Article, Author, Celebrity, Child, Cover,
Ranking, Related, Report, ReservedName, Tag, TvChef, Valid, X, Food, Eaten,
Node, ObjectA, ObjectB, ObjectC, CategoryItem, SimpleCategory,
SpecialCategory, OneToOneCategory, NullableName, ProxyCategory,
SingleObject, RelatedObject, ModelA, ModelD)
SingleObject, RelatedObject, ModelA, ModelD,
Ticket21203Parent, Ticket21203Child)
class BaseQuerysetTest(TestCase):
@@ -2149,3 +2150,11 @@ class EmptyStringPromotionTests(TestCase):
self.assertIn('LEFT OUTER JOIN', str(qs.query))
else:
self.assertNotIn('LEFT OUTER JOIN', str(qs.query))
class Ticket21203Tests(TestCase):
def test_ticket_21203(self):
p = Ticket21203Parent.objects.create(parent_bool=True)
c = Ticket21203Child.objects.create(parent=p)
qs = Ticket21203Child.objects.select_related('parent').defer('parent__created')
self.assertQuerysetEqual(qs, [c], lambda x: x)
self.assertIs(qs[0].parent.parent_bool, True)