peewee saves value of foreign key field wrongly
I think you've got some issue with your code, your base model class, or something. What you're suggesting is that peewee is somehow fundamentally broken, and the tests are all passing:

https://travis-ci.org/github/coleifer/peewee
Hello.

I think peewee saves the value of foreign key wrongly. Because:
user.id is an integer but in the token records, `user_id` saves as "t<user_id>".

```python
class User(BaseModel):
    name = CharField()
    identifier = CharField(index=True, unique=True)
    email = CharField(unique=True)

    password = CharField()

    registered_at = DateTimeField()

    """ 
    back ref fields:
    -- tokens
    """


class Token(BaseModel):
    user = ForeignKeyField(User, backref='tokens')
    code = CharField()

    created_at = DateTimeField()
    will_expire_at = DateTimeField()

```

data saves like:
```
USER TABLE
id | name | ...
1  |  hamid

RECORD TABLE
id | user_id | ...
1  |  t1 	  | ...
```

Also I have problem with this:
```python
token = Token.get_or_none(code=token_key)
print(token.user)
```

output of following code:
`
UserDoesNotExist('<Model: User> instance matching query does not exist:\nSQL: SELECT "t1"."id", "t1"."name", "t1"."identifier", "t1"."email", "t1"."password", "t1"."registered_at" FROM "user" AS "t1" WHERE ("t1"."id" = ?) LIMIT ? OFFSET ?\nParams: [\'t1\', 1, 0]')
`

But if I modify the `user_id` in the token table manually, everything works great.


python 3.8.2
database: sqlite
peewee: last stable version at the time of opening the issue
ubunru mate 20