Move delete_file to signals.py

master
Pete Ley 5 months ago
parent 11f54aea1a
commit 8183b6a229

@ -4,3 +4,6 @@ from django.apps import AppConfig
class CoreConfig(AppConfig):
default_auto_field = "django.db.models.BigAutoField"
name = "core"
def ready(self):
from . import signals

@ -1,7 +1,5 @@
import os
from django.core.exceptions import ValidationError
from django.core.validators import RegexValidator
from django.dispatch import receiver
from django.db import models
from django.forms.widgets import Select, CheckboxSelectMultiple
from django.utils import timezone
@ -274,15 +272,6 @@ class BaseBidDocument(BidRevChildMixin, Orderable, ClusterableModel):
return b + r
@receiver(models.signals.post_delete)
def delete_file(sender, instance, **kwargs):
if isinstance(instance, BaseBidDocument):
if instance.file:
if os.path.isfile(instance.file.path):
if BaseBidDocument.count_file_uses(instance.file) == 0:
os.remove(instance.file.path)
class BidDocument(BaseBidDocument):
bid = ParentalKey(Bid, on_delete=models.CASCADE, related_name='documents')

@ -0,0 +1,15 @@
import os
from django.db import models
from django.dispatch import receiver
from .models.bid import BaseBidDocument
@receiver(models.signals.post_delete)
def delete_file(sender, instance, **kwargs):
if isinstance(instance, BaseBidDocument) and \
instance.file and \
os.path.isfile(instance.file.path) and \
BaseBidDocument.count_file_uses(instance.file) == 0:
os.remove(instance.file.path)
Loading…
Cancel
Save