docs: def _handle_wrong_field(cls, field_name, field_type):
          """Raise an exception whenever an invalid attribute with
          the given name was attempted to be set to or retrieved from
          this model class.
  
          Assumes that the given field is invalid, without making any checks.
  
          Also adds an entry to the logs.
          """
          if field_type == ATTR_TYPE_READ:
              field_type = 'readable'
          elif field_type == ATTR_TYPE_WRITE:
              field_type = 'writable'
          elif field_type == ATTR_TYPE_URL:
              field_type = 'URL'
          else:
              raise AttributeError('Invalid attribute type: {}'.format(
                  field_type
              ))
  
          msg = '{} has no {} attribute "{}"'.format(
              cls.__name__,
              field_type,
              field_name
          )
          _logger.error(msg)
          raise AttributeError(msg)