CompositeKey as primary_key raises AttributeError
I do not encounter any such error running peewee 2.10.1.

Code:

```python
import datetime
from peewee import *


class Base(Model):
    class Meta:
        database = SqliteDatabase(':memory:')


class UpdateBatch(Base):
    timestamp = DateTimeField(default=datetime.datetime.now)
    batch_type = CharField(default='DEFAULT')

    class Meta:
        db_table = 'update_batches'
        primary_key = CompositeKey('timestamp', 'batch_type')


Base._meta.database.create_tables([UpdateBatch])
``` Have you tried it with a MySQL backend?  Looks like you're using Sqlite. No, I don't have MySQL handy at the moment. Can you try the above code with SQLite, however? I'd like to verify if this is a peewee issue or a peewee/mysql issue. Can do, please hold. Tried your code on both Sqlite and MySQL (fresh Docker container) and didn't encounter any issues.  Will reexamine my code / test environment to see if I can find a difference. Looks like the issue is coming from my other classes in my model, which are using a `ForeignKeyField` to reference the `CompositeKey`.  Looks like a duplicate of #270.
I have a very basic model that peewee fails to create the model for (the table is created, but peewee raises an AttributeError.

My model is as shown:

```python
import datetime as dt
import peewee as pew

class BaseModel(pew.Model):
    class Meta:
        database = <DATABASE>

class UpdateBatch(BaseModel):
    collected_at = pew.DateTimeField(default=dt.datetime.now)
    batch_type = pew.CharField(default='DEFAULT')
    class Meta:
        db_table = 'UpdateBatches'
        primary_key = pew.CompositeKey('collected_at', 'batch_type')
```

When starting from a fresh database and use `create_tables`  I receive the following error:

```
AttributeError: 'CompositeKey' object has no attribute 'get_db_field'
```

`UpdateBatch` is the only model that has a `CompositeKey` in my application.

Note: this was using a MySQL database as a backend.
Using version peewee 2.10.1.