Array and JSON fields do not output SQL with table aliases
Ah, nice catch!
 Thanks for your help reporting and debugging this issue.

I was having a problem with joining two tables with the same field name when one of them was of an array type, using the extra Postgres functionality from the Playhouse package. I narrowed it down to it being related to the table alias not being included in the where clause of the query. 

Took a while, and I'm not sure whether this is the correct "fix", but I think the problem was related to the alias_map not being passed into the parse_node() function, leading to an output of:

``` sql
where ("int_values"[1] = 123);
```

Instead of:

``` sql
where (t1."int_values"[1] = 123);
```

Here's a diff of the change I made that appears to work:

``` diff
diff --git a/playhouse/postgres_ext.py b/playhouse/postgres_ext.py
index a9c864f..98fc3e7 100644
--- a/playhouse/postgres_ext.py
+++ b/playhouse/postgres_ext.py
@@ -203,13 +203,13 @@ class PostgresqlExtCompiler(QueryCompiler):
         if unknown:
             if isinstance(node, ObjectSlice):
                 unknown = False
-                sql, params = self.parse_node(node.node)
+                sql, params = self.parse_node(node.node, alias_map, conv)
                 # Postgresql uses 1-based indexes.
                 parts = [str(part + 1) for part in node.parts]
                 sql = '%s[%s]' % (sql, ':'.join(parts))
             if isinstance(node, JsonLookup):
                 unknown = False
-                sql, params = self.parse_node(node.node)
+                sql, params = self.parse_node(node.node, alias_map, conv)
                 lookups = [sql]
                 for part in node.parts:
                     part_sql, part_params = self.parse_node(part)
```
