tasks.py 568 B

12345678910111213141516171819
  1. from celery import shared_task
  2. from django.contrib.auth import get_user_model
  3. from ...conf.shortcuts import get_dynamic_settings
  4. from ..deletesrecord import record_user_deleted_by_staff
  5. User = get_user_model()
  6. @shared_task
  7. def delete_user_with_content(pk):
  8. try:
  9. user = User.objects.get(pk=pk, is_staff=False, is_superuser=False)
  10. except User.DoesNotExist:
  11. pass
  12. else:
  13. settings = get_dynamic_settings()
  14. user.delete(anonymous_username=settings.anonymous_username, delete_content=True)
  15. record_user_deleted_by_staff()