DateTimeField get <unicode> instead of <datetime> in special case 
What version of Peewee? What database driver? Closing due to inactivity. My peewee is 2.10.2 in python2, this case only  appear when I use three tables. It disappeared when I leave two talbes Database driver is mysqldb. That's rather odd. Is there a reason you're using the call to `.alias()` all over the place instead of using the models themselves? What happens if you remove the calls to `alias()`? Ok,I will try it tomorrow. and I have an anther issue about BlobField , I use this field to store Binary img object successfully, but when I get this record use peewee why I get unicode object instead of binary object.
 ```
query = SaoMstr.select(fn.MIN(SaoShip.ShipDate).alias('min_date'), SaoStyle.Style) \
    .join(SaoShip, on=(SaoShip.OrderNo == SaoMstr.OrderNo)).join(SaoStyle, on=(SaoStyle.OrderNo == SaoMstr.OrderNo)) \
    .where(SaoMstr.ExtTerm7 == '001', SaoMstr.Customer == '10011').group_by(SaoStyle.Style)

In [28]: type(query.get().min_date)
Out[28]: unicode
```
When I delete ```SaoStyle.Style```:
```query = SaoMstr.select(fn.MIN(SaoShip.ShipDate).alias('min_date')) \
    .join(SaoShip, on=(SaoShip.OrderNo == SaoMstr.OrderNo)) \
    .switch(SaoMstr).join(SaoStyle, on=(SaoStyle.OrderNo == SaoMstr.OrderNo).alias('st')) \
    .where(SaoMstr.ExtTerm7 == '001', SaoMstr.Customer == '10011').group_by(SaoStyle.Style)

In [34]: type(query.get().min_date)
Out[34]: datetime.datetime
```
And the following thing is very strange.
```
query = SaoShip.select(fn.MIN(SaoShip.ShipDate).alias('min_date'), SaoStyle.Style).join(SaoStyle, on=(SaoStyle.OrderNo == SaoShip.OrderNo)).where(SaoShip.OrderNo == '0001000000001').group_by(SaoStyle.Style)

In [47]: type(query.get().min_date)
Out[47]: unicode

```
What cause it ?



 Can you create a minimal example I can use to try and replicate this issue?
With use of fn.MAX and join 3 tables and group_by, I can't get DateTimeField with type <datetime> correctly.

```python
from peewee import JOIN, fn
from server.models import SaoShip, SaoMstr, SaoStyle

store = '001'
company = '10011'

m = SaoMstr.alias()
t = SaoStyle.alias()
s = SaoShip.alias()

query = m.select(fn.MIN(s.ShipDate).alias('min_end_date')) \
    .join(s, on=(s.OrderNo == m.OrderNo)) \
    .join(t, on=(t.OrderNo == m.OrderNo)) \
    .where(m.ExtTerm7 == store, m.Customer == company)\
    .group_by(t.OrderNo, t.Style)

record = query.get()

print type(record.min_end_date)
```

Terminal output :
```shell
<type 'unicode'>
```