def remove_obj_perms_connected_with_user(sender, instance, **kwargs):
""" Remove user's permissions upon user deletion (``pre_delete.connect``).
:param sender: sender object
:param instance: user instance
:param kwargs: dictionary argument
:return: None
"""
filters = Q(content_type=ContentType.objects.get_for_model(instance),
object_pk=instance.pk)
UserObjectPermission.objects.filter(filters).delete()
GroupObjectPermission.objects.filter(filters).delete()
if instance.profile:
instance.profile.delete()
if instance.preference:
for i in instance.preference.all():
i.delete()
评论列表
文章目录