from django.db.models import Avg, Count def refresh_store_rating(store): aggregate = store.reviews.aggregate(avg=Avg('rating'), count=Count('uuid')) store.rating_avg = aggregate['avg'] or 0 store.rating_count = aggregate['count'] or 0 store.save(update_fields=['rating_avg', 'rating_count', 'updated_at'])