Fixed #12567 -- Incorrect SQL in model inheritance case
An isnull lookup produced incorrect SQL. This was already fixed earlier, so only tests added.
This commit is contained in:
parent
3844089edc
commit
630b9df42f
|
@ -323,3 +323,27 @@ class ModelInheritanceTests(TestCase):
|
||||||
# Equality doesn't transfer in multitable inheritance.
|
# Equality doesn't transfer in multitable inheritance.
|
||||||
self.assertNotEqual(Place(id=1), Restaurant(id=1))
|
self.assertNotEqual(Place(id=1), Restaurant(id=1))
|
||||||
self.assertNotEqual(Restaurant(id=1), Place(id=1))
|
self.assertNotEqual(Restaurant(id=1), Place(id=1))
|
||||||
|
|
||||||
|
def test_ticket_12567(self):
|
||||||
|
r = Restaurant.objects.create(name='n1', address='a1')
|
||||||
|
s = Supplier.objects.create(name='s1', address='a2')
|
||||||
|
self.assertQuerysetEqual(
|
||||||
|
Place.objects.filter(supplier__isnull=False),
|
||||||
|
[Place.objects.get(pk=s.pk)],
|
||||||
|
lambda x: x
|
||||||
|
)
|
||||||
|
self.assertQuerysetEqual(
|
||||||
|
Place.objects.filter(supplier__isnull=True),
|
||||||
|
[Place.objects.get(pk=r.pk)],
|
||||||
|
lambda x: x
|
||||||
|
)
|
||||||
|
self.assertQuerysetEqual(
|
||||||
|
Place.objects.exclude(supplier__isnull=False),
|
||||||
|
[Place.objects.get(pk=r.pk)],
|
||||||
|
lambda x: x
|
||||||
|
)
|
||||||
|
self.assertQuerysetEqual(
|
||||||
|
Place.objects.exclude(supplier__isnull=True),
|
||||||
|
[Place.objects.get(pk=s.pk)],
|
||||||
|
lambda x: x
|
||||||
|
)
|
||||||
|
|
Loading…
Reference in New Issue