From 0dd145131f140c262bdb4323202039ad281c52e2 Mon Sep 17 00:00:00 2001 From: Mojtaba-z Date: Mon, 2 Feb 2026 11:24:37 +0330 Subject: [PATCH] fix --> bug of calculate remaining tags of distribution parent batch --- apps/tag/signals/tag_distribution_signals.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/apps/tag/signals/tag_distribution_signals.py b/apps/tag/signals/tag_distribution_signals.py index 2fa67ff..6e8c185 100644 --- a/apps/tag/signals/tag_distribution_signals.py +++ b/apps/tag/signals/tag_distribution_signals.py @@ -53,14 +53,17 @@ def calculate_tag_distribution_detail(sender, instance: TagDistributionBatch, ** tag_dist_batch = instance parent = tag_dist_batch.parent if parent: - # parent.total_distributed_tag_count += tag_dist_batch.total_tag_count - parent.remaining_tag_count = 20 - print(parent.remaining_tag_count) - parent.save(update_fields=['remaining_tag_count']) + parent.total_distributed_tag_count += tag_dist_batch.total_tag_count + parent.remaining_tag_count = ( + parent.total_tag_count - parent.total_distributed_tag_count + ) + parent.parent_flag = True + parent.save(update_fields=['remaining_tag_count', 'total_distributed_tag_count']) - tag_dist_batch.remaining_tag_count = tag_dist_batch.total_tag_count - instance.flag = True - tag_dist_batch.save(update_fields=['remaining_tag_count']) + if not getattr(instance, 'parent_flag', False): + tag_dist_batch.remaining_tag_count = tag_dist_batch.total_tag_count + instance.flag = True + tag_dist_batch.save(update_fields=['remaining_tag_count']) # @receiver(m2m_changed, sender=TagDistribution.tag.through) # def on_tags_added_to_distribution(sender, instance, action, pk_set, **kwargs):