def __setitem__(self, key, value):
tpl = '<STR_LIT>'<EOL>raise InvalidOperation(tpl % (key, self))<EOL>
Explicitly prevent setting data into this dictionary-like object.

Example:

.. code-block:: python

    user = User('1')
    user['name'] = 'Bob' # raises InvalidOperation exception

RedPipe does not support this because you should be using the
`update` method to change properties on the object where you can
pipeline the operation with other calls to redis.

It also avoids the problem where you accidentally change data
if you were confused and thought you were just manipulating a
regular dictionary.

:param key: the name of the element in this pseudo dict.
:param value: the value to set it to
:raise: InvalidOperation