Improve caching

This commit is contained in:
Keannu Christian Bernasol 2024-01-07 11:07:48 +08:00
parent 10f3ece9b7
commit f418bc017d
2 changed files with 6 additions and 21 deletions

View file

@ -5,6 +5,7 @@ from .models import Transaction
from breakages.models import BreakageReport
from accounts.models import CustomUser
from config.settings import DEBUG
from django.core.cache import cache
class CustomUserSerializer(serializers.ModelSerializer):
@ -128,6 +129,7 @@ class TransactionSerializer(serializers.HyperlinkedModelSerializer):
return transaction
def update(self, instance, validated_data):
cache.delete('non_finalized_transactions')
user = self.context['request'].user
# User Validation
@ -248,6 +250,8 @@ class TransactionSerializer(serializers.HyperlinkedModelSerializer):
# This updates the status field of all equipment instances in a single query
EquipmentInstance.objects.filter(
id__in=[equipment.id for equipment in equipments]).update(status='Available')
cache.delete('available_equipment_instances')
cache.delete('equipment_instances')
return super().update(instance, validated_data)
# If the transaction changes from Returned: Pending Checking to With Breakages, we create a Breakage Report instance