@classmethod
def find_or_new(cls, id, columns=None):
    """
        Find a model by its primary key or return new instance.

        :param id: The id of the model
        :type id: mixed

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

        :return: A Model instance
        :rtype: Model
        """
    instance = cls.find(id, columns)
    if instance is not None:
        return instance
    return cls()
