@classmethod
def find_or_fail(cls, id, columns=None):
    """
        Find a model by its primary key or raise exception

        :param id: The primary key value
        :type id: mixed

        :param columns: The columns to retrieve
        :type columns: list

        :return: Either a Model instance or a Collection
        :rtype: Model
        """
    instance = cls()
    return instance.new_query().find_or_fail(id, columns)
