Better Error message
Unfortunately I don't think so in this case. The error is coming from the fact that the `property` has no setter. The property you've defined overrides the other class attribute, so I'm not even sure how to detect it.
I managed to break peewee, but the error message turnout to be be very unhelpful. Ultimately, the issue was I had model with a field and a property of the same name.

Simplified model:

```python
from peewee import CharField, Model

class BaseCustomer(Model):
    city = CharField(null=True)
    # a bunch of other fields

    # about 100 lines of code

    @property
    def city(self):
        return None
```

If you try and add a record with a value for `city`, the error that comes up is `AttributeError: can't set attribute`. This is technically true, but not particularly helpful in figuring out what went wrong (I had to monkey-patch peewee to figure it out myself).

Would it be possible to add a more helpful error message? If detectable, a warning about having a field and a property would have helped me fix my error in a couple of minutes. If nothing else, even just saying what key peewee isn't able to set would be helpful.

P.S. Thanks for peewee; it's been a great help in my projects and is much appreciated!

P.P.S. I'm using peewee v 2.9.2, and the stacktrace I got points to line 4861 of `peewee.py`