﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
24090	ORM (still!) neglects to use aliases it has set up when certain multiple subqueries are used AND multi table inheritance is in use	ris	nobody	"This is following on from ticket #23605, which was successfully fixed but didn't fix our specific test case.

This turns out to be because our test case also used multi table inheritance.

So, details are basically the same as #23605, but using django 1.7.2 and the test models.py is:

{{{
from django.db import models

class ModelAParent ( models.Model ):
	pass

class ModelA ( ModelAParent ):
	pass

class ModelB ( models.Model ):
	modela_fk = models.ForeignKey ( ModelA )
	modelc_fk = models.ForeignKey ( ""ModelC"" )
	
	field_b0 = models.IntegerField ( null = True )
	field_b1 = models.BooleanField ()

class ModelC ( models.Model ):
	field_c0 = models.FloatField ()
}}}

The query is the same:

{{{
ModelA.objects.filter (
    Q ( pk__in = ModelA.objects.filter ( Q ( modelb__field_b0__gte = 1000000 / F ( ""modelb__modelc_fk__field_c0"" ) )
        & Q ( modelb__field_b1__exact = True )
        & ~Q ( modelb__pk__in = ModelB.objects.filter (
            ~(
                Q ( field_b1__exact = True )
                & Q ( field_b0__gte = 1000000 / F ( ""modelc_fk__field_c0"" ) )
             )
        ) )
    ).filter ( modelb__field_b1__exact = True )
) )
}}}

Used against postgres 9.1 generates the error:

{{{
ProgrammingError: invalid reference to FROM-clause entry for table ""dummy_modelb""
LINE 1: ..."") AND U0.""field_b0"" IS NOT NULL)) AND V1.""id"" = (dummy_mode...
                                                             ^
HINT:  Perhaps you meant to reference the table alias ""v1"".
}}}"	Bug	closed	Database layer (models, ORM)	1.7	Normal	fixed	orm subquery alias multi table inheritance mth		Accepted	0	0	0	0	0	0
