Sub-queries using union
Ahh, good catch. I had to be explicit about removing parentheses from union queries because one of the dbs (I think SQLite?) didn't like them, but I did not think about subqueries. I'll look into a fix, thanks for the great bug report.
 Fixed in b13ff6c131d0722f6a3cfb54c8280bc99ea0

First of all, thanks for your continued great work! I've been using peewee successfully for quite some time now.

Today I hit a small issue though. If you build a union query and try to use it in WHERE of another query using << (IN), the union in the resulting SQL will not have parentheses around it which causes a syntax error.

``` python
from peewee import *

db = SqliteDatabase('test.db')

class A(Model):
    foo = IntegerField()
    class Meta:
        database = db

class B(Model):
    bar = IntegerField()
    class Meta:
        database = db

class C(Model):
    baz = IntegerField()
    class Meta:
        database = db

print A.select().where(A.foo << (B.select(B.bar) | C.select(C.baz)))
```

```
<class '__main__.A'> SELECT t1."id", t1."foo" FROM "a" AS t1 WHERE (t1."foo" IN SELECT t2."bar" FROM "b" AS t2 UNION SELECT t3."baz" FROM "c" AS t3) []
```

Using version 2.2.5.
