docs: def get(cls, keyval, key='id', user_id=None):
          """Fetches a single instance which has value `keyval`
          for the attribute `key`.
  
          Args:
  
              keyval: The value of the attribute.
  
              key (str, optional):  The attribute to search by. By default,
                  it is 'id'.
  
          Returns:
  
              A model instance if found. Else None.
  
          Examples:
  
              >>> User.get(35)
              user35@i.com
  
              >>> User.get('user35@i.com', key='email')
              user35@i.com
  
          """
          if keyval is None:
              return None
          if (key in cls.__table__.columns
                  and cls.__table__.columns[key].primary_key):
              # if user_id and hasattr(cls, 'user_id'):
              #     return cls.query.filter_by(id=keyval, user_id=user_id).first()
              return cls.query.get(keyval)
          else:
              result = cls.query.filter(
                  getattr(cls, key) == keyval)
              # if user_id and hasattr(cls, 'user_id'):
              #     result = result.filter(cls.user_id == user_id)
              return result.first()