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 30009 Invalid SQL query when using Subquery, caused by table alias quoting. Davit Mikava nobody "It seems that table aliases quoting issue reported in [https://code.djangoproject.com/ticket/27862 #27862] ticket still exists. This happens when Django is configured with PostgreSQL backend. to reproducing it use following models: {{{ class Case(models.Model): case_number = models.CharField(max_length=32) parent_case = models.ForeignKey('self', null=True, blank=True) class Subject(models.Model): name = models.CharField(max_length=128) case = models.ForeignKey(Case) class Task(models.Model): num = models.CharField(max_length=32, blank=True) case = models.ForeignKey(Case, null=True, blank=True) }}} and then: {{{ Task.objects.annotate( top_case_id=Coalesce(F('case__parent_case__parent_case_id'), F('case__parent_case_id'), F('case_id')), subject=Subquery(Subject.objects.filter(case_id=OuterRef('top_case_id'))) ).all() }}} Following SQL is generated: {{{ SELECT ""test_app_task"".""id"", ""test_app_task"".""num"", ""test_app_task"".""case_id"", COALESCE(T3.""parent_case_id"", ""test_app_case"".""parent_case_id"", ""test_app_task"".""case_id"") AS ""top_case_id"", (SELECT U0.""id"", U0.""name"", U0.""case_id"" FROM ""test_app_subject"" U0 WHERE U0.""case_id"" = (COALESCE(""T3"".""parent_case_id"", ""test_app_case"".""parent_case_id"", ""test_app_task"".""case_id""))) AS ""subject"" FROM ""test_app_task"" LEFT OUTER JOIN ""test_app_case"" ON (""test_app_task"".""case_id"" = ""test_app_case"".""id"") LEFT OUTER JOIN ""test_app_case"" T3 ON (""test_app_case"".""parent_case_id"" = T3.""id"") }}} Error: {{{ ProgrammingError: missing FROM-clause entry for table ""T3"" LINE 1: ...st_app_subject"" U0 WHERE U0.""case_id"" = (COALESCE(""T3"".""pare... }}} SQL works as expected, when quotes are removed from T3 alias." Bug closed Database layer (models, ORM) 1.11 Normal duplicate queryset subquery Mariusz Felisiak Accepted 0 0 0 0 0 0