def re_add_users_following_before_delete(instance):
    # First, let's see if this page existed before.
    if instance.versions.all().count() > 2:
        # Now let's get the version before it was deleted
        before_delete = instance.versions.all()[2]

        past_follows = Follow.versions.filter(target_page__id=before_delete.id)

        # Now, re-follow.
        for follow in follows_before_cascade(past_follows):
            f = Follow(user=follow.user, target_page=instance)
            # For versioning purposes, let's keep the same pk
            # we had before delete.
            f.id = follow.id
            # We set TYPE_REVERTED here because it's slightly
            # more accurate than the (default) TYPE_ADDED.
            f._history_type = TYPE_REVERTED
            f.save()
Пример #2
0
def re_add_users_following_before_delete(instance):
    # First, let's see if this page existed before.
    if instance.versions.all().count() > 2:
        # Now let's get the version before it was deleted
        before_delete = instance.versions.all()[2]

        past_follows = Follow.versions.filter(target_page__id=before_delete.id)

        # Now, re-follow.
        for follow in follows_before_cascade(past_follows):
            f = Follow(user=follow.user, target_page=instance)
            # For versioning purposes, let's keep the same pk
            # we had before delete.
            f.id = follow.id
            # We set TYPE_REVERTED here because it's slightly
            # more accurate than the (default) TYPE_ADDED.
            f._history_type = TYPE_REVERTED
            f.save()