Introspector changes Integer field which is primary key to Serial type (AutoField) in dynamically-generated model from Postgres Database
The reflection stuff is not perfect and uses a heuristic in some cases. If the primary-key is a single integer column, then the reflection assumes it is auto-increment. Similarly, we don't pull the character-length for varchar column types - although this may change in a future version. These are both known limitations.
When I'm trying  to get dynamically-generated model from existing table in Postgres database, I've found that fields with type Integer become fields with type AutoField in generated model if those fields are primary key.
This fields in my DB have unique values which is really key values. I'm getting them from another remote source.
Query for creation of the test table 
![image](https://user-images.githubusercontent.com/45177856/107012561-3c60a500-67aa-11eb-8f87-494a44c8b5b7.png)

Result of the execution of the code for generating model for this table interactively in python console in PyCharm:
 
```python
    >>introsp_pub = Introspector.from_database(pg_db, schema='public')
    >>proba_dynamic_model = introsp_pub.generate_models(table_names=['proba'])['proba']
    >>print_model(proba_dynamic_model)
    proba
      proba_int AUTO PK
      proba_txt VARCHAR
    >>print_table_sql(proba_dynamic_model)
      CREATE TABLE IF NOT EXISTS "public"."proba" (
        "proba_int" SERIAL NOT NULL PRIMARY KEY,
        "proba_txt" VARCHAR(255)
      ) 
```

This is result afer using pwiz
```
    class BaseModel(Model):
      class Meta:
          database = database

    class Proba(BaseModel):
      proba_int = AutoField()  # that is not right!!!! It should be IntegerField() !!!
      proba_txt = CharField(null=True)

    class Meta:
        table_name = 'proba'
        schema = 'public'
```

And as addition, size of varchar was detected incorrectly. The size of field "proba_txt" is 10 symbols in the database and 255 symbols in the generated model. 