diff --git a/store/models.py b/store/models.py index 47bb055..f0933ca 100644 --- a/store/models.py +++ b/store/models.py @@ -577,12 +577,17 @@ class Checklist(models.Model): if old_obj and self.status != old_obj.status: self.status_updated_at = timezone.now() + # Invalidate old CDEK barcode PDF + if self.cdek_tracking != old_obj.cdek_tracking: + self.cdek_barcode_pdf.delete(save=False) + self.cdek_barcode_pdf = None + # Try to get CDEK barcode PDF if not self.cdek_barcode_pdf and self.cdek_tracking and self.status in Checklist.Status.PDF_AVAILABLE_STATUSES: from store.views import CDEKAPI pdf_file = CDEKAPI.client.get_barcode_file(self.cdek_tracking) if pdf_file: - self.cdek_barcode_pdf.save(f'{self.id}_barcode.pdf', pdf_file) + self.cdek_barcode_pdf.save(f'{self.id}_barcode.pdf', pdf_file, save=False) # Create preview image if not self.preview_image: