date is None with MySQL
Peewee is using `pymysql` under-the-hood (or `MySQLdb`, whichever you've got installed), so when you are querying the value using `pymysql` directly and not receiving anything that tells me that the issue is not with Peewee but somewhere else. Perhaps with `pymysql` though I'm not sure.
 I reported it to pymysql. I guess you are right, it should be fixed in pymysql, but it might make sense to also provide a work-around in peewee. Or at least, for now when this is not fixed, how would an easy work-around look like to use this in peewee? Basically doing `SELECT CAST(publish_date AS char) FROM pub`.
 The problem is that the `datetime` object does not allow something like `(2016, 0, 0)`. That's why pymysql currently failed to convert it and return it. It is possible to disable this conversation in pymysql, but then, I think peewee has the same problem. Currently, peewee will just pass through the string and not convert it properly. As far as I understand, something like `entry.publish_date.year` should normally work, but it does not for my case because `entry.publish_date` is a string. Do you consider that as a bug in peewee?
 Not at all a bug in peewee.

Via `pwiz` on my MySQL database, I get:

```
class BaseModel(Model):
    class Meta:
        database = database

class Pub(BaseModel):
    ...
    author = TextField(null=True)
    ...
    publish_date = DateField(null=True)
    ...
```

Then, when iterating `entry in Pub.select()`, `entry.publish_date` is always `None`, although all entries in the database have the date set (or at least part of it, such as year, i.e. an entry like `2016-00-00`).

Why is that? Maybe `formats` is wrong? How to fix this?

I guess that `peewee` will use `pymsql` under the hood. So I tried to do this simple thing:

```
import pymysql
conn = pymysql.connect(...)
cur = conn.cursor()
cur.execute("SELECT publish_date FROM pub")
```

And then iterating `row in cur`, I will only get `row == (None,)`.

So, not sure if this is a bug in peewee or in pymysql.

When casting the value beforehand to `char`, it works, i.e. I get the value as a string:

```
cur.execute("SELECT CAST(publish_date AS char) FROM pub")
```

So, should peewee automatically do this? How can I do that myself now as a work around?

(Also asked on StackOverflow [here](http://stackoverflow.com/questions/39854677/peewee-datefield-property-is-none-with-mysql-database).)
