def delete_all_values(request): stack = [] nbr_activities = 0 for activity in Session.query(Activity).all(): nbr_changesets = 0 for changeset in Session.query(A_Changeset).filter(A_Changeset.fk_activity == activity.id).all(): Session.delete(changeset) nbr_changesets += 1 nbr_tag_groups = 0 for tag_group in Session.query(A_Tag_Group).filter(A_Tag_Group.fk_activity == activity.id).all(): tag_group.fk_a_tag = None Session.flush() nbr_tags = 0 for tag in Session.query(A_Tag).join(A_Tag_Group, A_Tag_Group.id == A_Tag.fk_a_tag_group).join(Activity).filter(and_(A_Tag.fk_a_tag_group == tag_group.id, A_Tag_Group.fk_activity == activity.id)).all(): Session.delete(tag) nbr_tags += 1 Session.flush() Session.delete(tag_group) nbr_tag_groups += 1 Session.delete(activity) nbr_activities += 1 try: stack.append(str(nbr_changesets) + ' changesets deleted.') stack.append(str(nbr_tags) + ' tags deleted.') stack.append(str(nbr_tag_groups) + ' tag groups deleted.') stack.append(str(nbr_activities) + ' activities deleted.') except UnboundLocalError: pass return {'messagestack': stack}