Model.filter with alias behaves different from Model.select.where
Why are you using an alias on a plain old select query? Aliases are designed for one reason: to allow you to reference the same table in multiple contexts within a query (e.g. a self-join). There is no reason to alias a model class simply to select from it -- just use the model itself.

Furthermore, you're using the `filter()` method incorrectly. Why are you passing an expression into the call to `filter()`? Filter is designed solely to provide a django-compatible way of constructing where clauses. You should just chain calls to `.where()` if you're passing in expressions:

```python

OI = OrganizationInvitation  # no alias!
q = OI.select().where(OI.invitee == '121212121')

# Or,
q = OI.select().filter(invite='1212121')  # Filter uses kwargs, *not* expressions.
```
When alias is used with Model.filter, it somehow adds another table reference to queries. 


```
In [5]: oi = OrganizationInvitation.alias()

In [6]: oi.select().where(oi.invitee == "1212121212").sql()
Out[6]: 
('SELECT "t1"."id", "t1"."organization_id", "t1"."inviter_id", "t1"."invitee" FROM "organization_invitation" AS "t1" WHERE ("t1"."invitee" = ?)',
 ['1212121212'])

# Another table reference t2 is added here 
In [7]: oi.filter(oi.invitee == "1212121212").sql()
Out[7]: 
('SELECT "t1"."id", "t1"."organization_id", "t1"."inviter_id", "t1"."invitee" FROM "organization_invitation" AS "t1" WHERE ("t2"."invitee" = ?)',
 ['1212121212'])

In [8]: oi.filter(oi.invitee == "1212121212")
Out[8]: <peewee.ModelSelect at 0x7f56290ee748>

In [9]: oi.select().where(oi.invitee == "1212121212")
Out[9]: <peewee.ModelSelect at 0x7f5613fcceb8>

```

I'm using peewee 3.11.0 with apsw 3.28.0 on python 3.7.1