Auto change IntegerField to ForeignKeyField?
When you write:

```python
group = ForeignKeyField(AdminGroup)
```

Peewee will add a column `group_id` which stores the related `AdminGroup.id` value. So you're stepping on your own toes.

Additionally, every `ForeignKeyField` by default will add a "<field_name>_id" descriptor to the model, which provides access to the underlying `AdminGroup.id` value (e.g., the integer, not an `AdminGroup` instance).

Just use `group = ForeignKeyField(AdminGroup)`. Peewee automatically creates an equivalent integer field for you at `group_id`. Thank you, but i need to declare `group_id` for using on other part of my code.
Any chance to get the real type before bind that to `ObjectIdAccessor` or disable this feature? So `group` and `group_id` are totally different values, then?

In that case you can either:

- set the `column_name` parameter of the `group` foreign key field
- set the `object_id_name` parameter of the `group` foreign key field to something other than `group_id` so it doesn't conflict
I have a model like this

```
class AdminUser(BaseModel):
    class Meta:
        table_name = '_admin_user'
    id = AutoField()
    group_id = IntegerField()
    group: AdminGroup = ForeignKeyField(AdminGroup)
```

After checking  type of `group_id` field by using `type(getattr(model, 'group_id')`, it becomes `ForeignKeyField `, not `IntegerField` any more.

But after moving group_id under group field, it won't happen any more, `group_id` type will be `IntergerField`
```
    group: AdminGroup = ForeignKeyField(AdminGroup)
    group_id = IntegerField()
```

Why is that and how do i preserve / get the correct field type of `*_id`?