from celery import shared_task from django.contrib.auth import get_user_model from ...conf.shortcuts import get_dynamic_settings from ..deletesrecord import record_user_deleted_by_staff User = get_user_model() @shared_task def delete_user_with_content(pk): try: user = User.objects.get(pk=pk, is_staff=False, is_superuser=False) except User.DoesNotExist: pass else: settings = get_dynamic_settings() user.delete(anonymous_username=settings.anonymous_username, delete_content=True) record_user_deleted_by_staff()