delete() doesn't handle order_by()
Postgresql does not support this, and Sqlite does but only if compiled with `SQLITE_ENABLE_UPDATE_DELETE_LIMIT`.  Because it is only MySQL that supports this feature, I am going to pass on fixing it for now.

There have been similar features requests, from which you might be able to get some ideas:
- #146 , adds limit / order by to update queries
- #153 , adds support for limit to update queries

In the future I may attempt to add a compatibility layer, but for now I am going to close this.
 Thank you, in the meantime I arrived at the same conclusions too.
I've found multiple other ways to solve the same problem, thanks to peewee flexibility. In case anyone ends here with the same problem, they are:

select() + delete():

``` python
to_delete = Log.select().order_by(Log.when.asc()).limit(n_to_delete)
n_deleted = Log.delete().where(Log.id << to_delete).execute()
```

select() + DeleteQuery():

``` python
dq = DeleteQuery(Log).where(
    Log.id << Log.select().order_by(Log.when.asc()).limit(n_to_delete)
)
n_deleted = dq.execute()
```

raw SQL:

``` python
db.execute_sql("DELETE FROM log WHERE `id` in ( SELECT `id` FROM log ORDER BY `when` DESC LIMIT ? OFFSET ? )", (n_to_delete, max_logs))
```

``` python
n_deleted = Log.delete().order_by(Log.when.asc()).limit(n_to_delete)
```

raises the following exception:

```
AttributeError: 'DeleteQuery' object has no attribute 'order_by'
```
