@classmethod
def can_create_at(cls, parent):
    """
        Checks if this page type can be created as a subpage under a parent
        page instance.
        """
    can_create = cls.is_creatable and cls.can_exist_under(parent)
    if cls.max_count is not None:
        can_create = can_create and cls.objects.count() < cls.max_count
    if cls.max_count_per_parent is not None:
        can_create = can_create and parent.get_children().type(cls).count(
            ) < cls.max_count_per_parent
    return can_create
