prevent related attribute assignement
This isn't SQLAlchemy, home-skillet!

Good suggestion on making read-only :+1:  So, I just prototyped the change and realized I can't enforce making back-references read-only because under some conditions, when resolving a query, Peewee may assign a list to the backref. For example when calling `dict_to_model`, it's possible to end up assigning a list to the back-reference. Similar goes for `prefetch`.
Coming from sqlalchemy, it's not obvious that related attributes shouldn't be assigned.

```python
class User(Model):
    name = CharField()

class Tweet(Model):            
    text = CharField()
    user = ForeignKeyField(User, null=True, related_name='tweets')

u = User(name='bob')
u.save()
u.tweets = [Tweet(text='baaa'), Tweet(text='boo')] # does not work at all 
```

With this code, u.tweets is mutated from peewee.SelectQuery to a list. Could the related attribute ("tweets") be handeled as a readonly property to prevent this ?

