Gotcha for folks using update
>Would an update_instance method help?

The docs and examples are already quite clear. You update an instance by setting the attributes and using `save()`, as this is an active-record style ORM. I think it would be worth a warning note in the docs, letting folks know that Python will happily allow them to update every row in a table from an instance. It's a simple mistake that can have big consequences.

I really appreciated all the [n+1 problem docs](https://github.com/coleifer/peewee/blob/master/docs/peewee/relationships.rst#avoiding-the-n1-problem).
Speaking from recent experience, I made a mistake when attempting to update a single field on a model.

```python
flag = Flag.get_by_id(flag_id)
flag.update(active=False).execute()
```

Given that I was operating on an instance of the model, I assumed I'd be updating that field only on a single row. However, given that in Python you can call a classmethod on an instance variable, it updates ALL the flags in the database! I'm glad I wasn't using the delete classmethod by accident.

```python
class Test:
    @classmethod
    def hello(cls):
        print("CLASS HELLO")

if __name__ == '__main__':
    t = Test()
    t.hello()
    Test.hello()
```

I wish I had a good suggestion for how to help others not make this mistake (other than learning Python better 😢 ). I see you do have `flag.delete_instance()` in addition to `Flag.delete()`. Would an `update_instance` method help?

Unfortunately, I see no way to detect, from a classmethod call, whether it was the class or an instance that invoked it.

[update]

I would favor what you suggested back in 2015:

>Classmethods operate on the table. Instance methods operate on the rows. Class represents table, instance represents row. It is just an inconvenient fact of python's `classmethod` decorator that you can call classmethods from an instance. I could write a special decorator that prevented this, e.g. `classonlymethod` but I don't think it's worth the time and more Pythonic anyways.

_Originally posted by @coleifer in https://github.com/coleifer/peewee/issues/586#issuecomment-95960454_