get_or_create violates unique constraint when saving
Can you create a minimal test-case I can use to reproduce the issue? I'm unclear from your comment what your model looks like or where the actual error is occurring. I don't seem to be able to reproduce this on a simple case so it may have something to do with my DB (Postgresql). For what I can see, the problem is related to the fact that, although the primary key in Plate has a sequence set, when I do the 

```python
dbo, created = Plate.get_or_create(plate_id=1234)
```

The resulting object doesnt have a pk

```python
dbo
<Plate: pk=None, plate_id=1234>
```

Other tables in the same DB, with primary key sequences set in the same manner return an object with a `pk != None` when initialised with `get_or_create`. I'll keep digging.

 Ok, I think I fixed it. In my Models some of the primary keys were set to `BigIntegerField` instead of to `PrimaryKeyField` because the underlying primary key field was set as a big integer in Postgresql. Changing it to `PrimaryKeyField` seems to have solved the issue and I don't see any ill effect.

Worth noting that the models were generated using pywiz, although the peewee 2 version of it. Also, this used to work fine in peewee 2 so not sure if this is a bug or not. Sounds like you got it.

For what it's worth, in peewee 3.x, you can use `AutoField` or `BigAutoField` depending on the underlying data-type (serial vs bigserial). `PrimaryKeyField` is provided for backwards-compatibility, but is just an alias for `AutoField`.
If I do

```python
dbo, created = Plate.get_or_create(plate_id=1234)
if created is True:
    dbo.chunk = 'a'
    dbo.save()
```

O get an error

```python
IntegrityError: duplicate key value violates unique constraint "plate_id_uniq"
DETAIL:  Key (plate_id)=(1234) already exists
```

This seems to happen because the `.save()` method tries to create the record again, instead of updating it. This code used to work with peewee 2.
