Saving `only` no fields saves all fields.
Thanks, I've made the change as suggested (although it is `if only is not None`). Peewee is active-record so calling save with no data will raise a `ValueError`.
## The issue

I use the pattern of saving only fields that have changed in a model, as such:

```python
obj.save(only=obj.dirty_fields)
```

However, if the `dirty_fields` value is an empty list, I would expect `save()` to save _no_ fields (i.e., be a no-op.) Instead, it saves _all_ the fields, which is counter-intuitive and can lead to problems if I don't explicitly check for an empty list.

I believe the issue is in the line below:

https://github.com/coleifer/peewee/blob/ce9375cb4b3fa64560e400932d86e2632c4a0586/peewee.py#L6521

Instead of checking the falseness of `only`, it might be more appropriate to check if it is None:

```python
 if only is None:
    ...
```