diff --git a/store/models.py b/store/models.py index d5e413a..27902d4 100644 --- a/store/models.py +++ b/store/models.py @@ -357,7 +357,8 @@ class Checklist(models.Model): if self.promocode_id: # We assume that working promocode was bound correctly through serializer - # and intentionally don't check if promocode is active here + # and intentionally don't check if promocode is active here. + # It's also good for archive orders. promocode = self.promocode price -= promocode.discount * self.price_rub / 100 diff --git a/store/serializers.py b/store/serializers.py index f1c0842..c83084f 100644 --- a/store/serializers.py +++ b/store/serializers.py @@ -120,12 +120,12 @@ class ChecklistSerializer(serializers.ModelSerializer): def update(self, instance, validated_data): images = self._collect_images_by_fields(validated_data) - self._create_main_images(instance, images.get('main_images')) - self._create_payment_proofs(instance, images.get('payment_proof')) - # Perform update instance: Checklist = super().update(instance, validated_data) + self._create_main_images(instance, images.get('main_images')) + self._create_payment_proofs(instance, images.get('payment_proof')) + # Invalidate prefetched images delattr(instance, '_images')