python_value not being called on create()
I don't think this is a bug, since you are creating the objects from Python, but I appreciate you opening the issue.
 Yeah figured that might the response, I'll fix it on my end then. Cheers :)

Hi Charles,

Just found another minor issue, this set of tests should demonstrate the problem.

```
import unittest
from datetime import datetime
from peewee import SqliteDatabase, Model, PrimaryKeyField, DateTimeField


db = SqliteDatabase(':memory:')


class MyModel(Model):
    id = PrimaryKeyField()
    my_field = DateTimeField()

    class Meta:
        database = db


class DatetimeConversionTest(unittest.TestCase):

    def setUp(self):
        db.connect()
        MyModel.create_table()

    def tearDown(self):
        MyModel.drop_table()
        db.close()

    def test_create(self):
        my_model = MyModel.create(my_field="2014-01-01 00:00:00")
        # Throws, actually returns "2014-01-01 00:00:00"
        self.assertEqual(my_model.my_field, datetime(2014, 1, 1, 0, 0, 0))

    def test_get(self):
        my_model = MyModel.create(my_field="2014-01-01 00:00:00")
        my_model2 = MyModel.get(MyModel.id == my_model.id)
        self.assertEqual(my_model2.my_field, datetime(2014, 1, 1, 0, 0, 0))  # Passes fine


if __name__ == "__main__":
    unittest.main()
```

I think it's just a case of running the python_value function over any arguments passed into the model. Not sure if this is something you this is something you'd consider a bug or not.

Cheers,
Alex
