docs: def get(cls, id):
          ''' Retrieves an object by id. Returns None in case of failure '''
  
          if not id:
              return None
  
          redis = cls.get_redis()
          key = '{}:{}:obj'.format(cls.cls_key(), id)
  
          if not redis.exists(key):
              return None
  
          obj = cls(id=id)
          obj._persisted = True
  
          data = debyte_hash(redis.hgetall(key))
  
          for fieldname, field in obj.proxy:
              value = field.recover(data, redis)
  
              setattr(
                  obj,
                  fieldname,
                  value
              )
  
          return obj