mirror of
https://github.com/django/django.git
synced 2025-10-30 17:16:10 +00:00
[1.6.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 bf13c75c0d from master.
This commit is contained in:
@@ -26,8 +26,8 @@ from .models import (
|
||||
OneToOneCategory, NullableName, ProxyCategory, SingleObject, RelatedObject,
|
||||
ModelA, ModelB, ModelC, ModelD, Responsibility, Job, JobResponsibilities,
|
||||
BaseA, FK1, Identifier, Program, Channel, Page, Paragraph, Chapter, Book,
|
||||
MyObject, Order, OrderItem, Task, Staff, StaffUser)
|
||||
|
||||
MyObject, Order, OrderItem, Task, Staff, StaffUser, Ticket21203Parent,
|
||||
Ticket21203Child)
|
||||
|
||||
class BaseQuerysetTest(TestCase):
|
||||
def assertValueQuerysetEqual(self, qs, values):
|
||||
@@ -3000,3 +3000,11 @@ class Ticket20955Tests(TestCase):
|
||||
task_get.creator.staffuser.staff)
|
||||
self.assertEqual(task_select_related.owner.staffuser.staff,
|
||||
task_get.owner.staffuser.staff)
|
||||
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user