When last_version is deleted, do not delete text and previous versions in cascade, but really delete text only when there is no previous version, otherwise update text.last_version with previous version.
# django helpers collections
from django.conf import settings
from django.core.urlresolvers import reverse
def absolute_reverse(view_id, args):
return settings.SITE_URL + reverse(view_id, args=args)