Coverage for website/photos/signals.py: 57.14%

7 statements  

« prev     ^ index     » next       coverage.py v7.6.7, created at 2025-08-14 10:31 +0000

1from django.db.models.signals import pre_delete 

2 

3from utils.models.signals import suspendingreceiver 

4 

5 

6@suspendingreceiver( 

7 pre_delete, sender="photos.Photo", dispatch_uid="photos_photo_delete" 

8) 

9def pre_photo_delete(sender, instance, **kwargs): 

10 """Remove main photo file and thumbnails on deletion.""" 

11 name = instance.file.name # First get the name, it is removed by the next line. 

12 instance.file.delete() # Delete the file and its thumbnails. 

13 

14 # Clean up the source metadata, django-thumbnails does not do this. 

15 instance.file.metadata_backend.delete_source(name)