put DataAccess auto-delete in the pre_delete BaseModel signal

sync3
Laurent 5 months ago
parent bf8f103bda
commit d97888c887
  1. 2
      sync/models/data_access.py
  2. 16
      sync/signals.py

@ -7,7 +7,7 @@ from django.conf import settings
from ..registry import model_registry
import uuid
from . import ModelLog, SideStoreModel, BaseModel
from . import ModelLog, BaseModel
import logging
logger = logging.getLogger(__name__)

@ -39,7 +39,9 @@ def presave_handler(sender, instance, **kwargs):
if signal == pre_save:
detect_foreign_key_changes_for_shared_instances(sender, instance)
sig_type = 'pre_save'
else:
elif signal == pre_delete:
if hasattr(instance, 'id'):
DataAccess.objects.filter(model_id=instance.id).delete()
sig_type = 'pre_delete'
# logger.info(f'* {sig_type} : {instance.__class__.__name__} > impacted users = {users}')
@ -274,12 +276,12 @@ def process_foreign_key_changes(sender, instance, **kwargs):
### Data Access
@receiver(post_delete)
def delete_data_access_if_necessary(sender, instance, **kwargs):
if not isinstance(instance, BaseModel):
return
if hasattr(instance, 'id'):
DataAccess.objects.filter(model_id=instance.id).delete()
# @receiver(post_delete)
# def delete_data_access_if_necessary(sender, instance, **kwargs):
# if not isinstance(instance, BaseModel):
# return
# if hasattr(instance, 'id'):
# DataAccess.objects.filter(model_id=instance.id).delete()
@receiver(m2m_changed, sender=DataAccess.shared_with.through)
def handle_shared_with_changes(sender, instance, action, pk_set, **kwargs):

Loading…
Cancel
Save