Delete with joins
This appears to not work at all with sqlite, and so is probably a non-starter. Feel free to close if you agree.
 I don't believe it is supported by Postgres either, so yes I think I will close it out. If your deletes happen infrequently you could always recourse to having a "raw" SQL query to accomplish them, if that makes things easier.

Thanks for the good bug report and for being understanding about the wontfix.
 This is supported in Postgresql with the [`USING` clause](https://www.postgresql.org/docs/current/static/sql-delete.html)

> PostgreSQL lets you reference columns of other tables in the WHERE condition by specifying the other tables in the USING clause. For example, to delete all films produced by a given producer, one can do:
> 
> `DELETE FROM films USING producers
>   WHERE producer_id = producers.id AND producers.name = 'foo';`

But since at the Peewee level you can just use s [raw query](http://stackoverflow.com/a/38068039/1161906), so I'm not sure this changes anything. 

Currently peewee doesn't support joins in delete queries. We've worked around this by using where clauses and nested subqueries (to force mysql to create a temp table). This is causing our DB to have a lot of deadlocks. One way around this would be to allow deletes to use joins.

An example query:

``` python
    subq = A.select(A.id).join(B).where(B.thing != example).alias('ps')
    inner = A.select(subq.c.id).from_(subq)
    A.delete().where(A.id << inner).execute()
```

could become:

``` python
    A.delete(A).join(B).where(B.thing != example).execute()
```

Thoughts? Pointers on the implementation? Examples of where this fails horribly?
