Erase data access objects when their parent is deleted

sync
Laurent 10 months ago
parent 26757c9b59
commit 53c10644c1
  1. 6
      sync/signals.py

@ -161,8 +161,10 @@ def detect_foreign_key_changes(sender, instance, device_id):
print(f"Foreign key changed in {sender.__name__}: " print(f"Foreign key changed in {sender.__name__}: "
f"{field.name} from {old_value} to {new_value}") f"{field.name} from {old_value} to {new_value}")
def delete_data_access_if_necessary(model_id): @receiver(post_delete)
DataAccess.objects.filter(model_id=model_id).delete() def delete_data_access_if_necessary(sender, instance, **kwargs):
if hasattr(instance, 'id'):
DataAccess.objects.filter(model_id=instance.id).delete()
@receiver(m2m_changed, sender=DataAccess.shared_with.through) @receiver(m2m_changed, sender=DataAccess.shared_with.through)
def handle_shared_with_changes(sender, instance, action, pk_set, **kwargs): def handle_shared_with_changes(sender, instance, action, pk_set, **kwargs):

Loading…
Cancel
Save