diff options
| author | Anssi Kääriäinen <anssi.kaariainen@thl.fi> | 2015-04-16 08:39:31 +0300 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2015-04-16 09:31:29 -0400 |
| commit | 581afddc77ccd2e343d51ede5deb33bbcf113ab2 (patch) | |
| tree | 959559ad388c87dd80842ef50928bff22d5555b4 /tests/queries/tests.py | |
| parent | 1e594b257e74f60292ca421f9df11d5fd7804ea6 (diff) | |
[1.8.x] Fixed #24605 -- Fixed incorrect reference to alias in subquery.
Thanks to charettes and priidukull for investigating the issue, and to
kurevin for the report.
Backport of 355c5edd9390caad5725375abca03460805f663b from master
Diffstat (limited to 'tests/queries/tests.py')
| -rw-r--r-- | tests/queries/tests.py | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/tests/queries/tests.py b/tests/queries/tests.py index 3589fa4a9b..5d12330b99 100644 --- a/tests/queries/tests.py +++ b/tests/queries/tests.py @@ -23,16 +23,16 @@ from .models import ( FK1, X, Annotation, Article, Author, BaseA, Book, CategoryItem, CategoryRelationship, Celebrity, Channel, Chapter, Child, ChildObjectA, Classroom, Company, Cover, CustomPk, CustomPkTag, Detail, DumbCategory, - Eaten, Employment, ExtraInfo, Fan, Food, Identifier, Item, Job, + Eaten, Employment, ExtraInfo, Fan, Food, Identifier, Individual, Item, Job, JobResponsibilities, Join, LeafA, LeafB, LoopX, LoopZ, ManagedModel, Member, ModelA, ModelB, ModelC, ModelD, MyObject, NamedCategory, Node, Note, NullableName, Number, ObjectA, ObjectB, ObjectC, OneToOneCategory, Order, OrderItem, Page, Paragraph, Person, Plaything, PointerA, Program, - ProxyCategory, ProxyObjectA, ProxyObjectB, Ranking, Related, RelatedObject, - Report, ReservedName, Responsibility, School, SharedConnection, - SimpleCategory, SingleObject, SpecialCategory, Staff, StaffUser, Student, - Tag, Task, Ticket21203Child, Ticket21203Parent, Ticket23605A, Ticket23605B, - Ticket23605C, TvChef, Valid, + ProxyCategory, ProxyObjectA, ProxyObjectB, Ranking, Related, + RelatedIndividual, RelatedObject, Report, ReservedName, Responsibility, + School, SharedConnection, SimpleCategory, SingleObject, SpecialCategory, + Staff, StaffUser, Student, Tag, Task, Ticket21203Child, Ticket21203Parent, + Ticket23605A, Ticket23605B, Ticket23605C, TvChef, Valid, ) @@ -3693,3 +3693,27 @@ class Ticket23605Tests(TestCase): self.assertQuerysetEqual(qs1, [a1], lambda x: x) qs2 = Ticket23605A.objects.exclude(complex_q) self.assertQuerysetEqual(qs2, [a2], lambda x: x) + + +class TestTicket24605(TestCase): + def test_ticket_24605(self): + """ + Subquery table names should be quoted. + """ + i1 = Individual.objects.create(alive=True) + RelatedIndividual.objects.create(related=i1) + i2 = Individual.objects.create(alive=False) + RelatedIndividual.objects.create(related=i2) + i3 = Individual.objects.create(alive=True) + i4 = Individual.objects.create(alive=False) + + self.assertQuerysetEqual( + Individual.objects.filter(Q(alive=False), Q(related_individual__isnull=True)), + [i4], lambda x: x + ) + self.assertQuerysetEqual( + Individual.objects.exclude( + Q(alive=False), Q(related_individual__isnull=True) + ).order_by('pk'), + [i1, i2, i3], lambda x: x + ) |
