From fa7d3095de011bc8078467ff3f2ec32a0f56d9bd Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 27 Aug 2025 10:02:50 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96mlogbw=20bulk=20updat?= =?UTF-8?q?e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/wpm/views.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/apps/wpm/views.py b/apps/wpm/views.py index b3bcd1c3..8735274e 100644 --- a/apps/wpm/views.py +++ b/apps/wpm/views.py @@ -961,9 +961,20 @@ class MlogbwViewSet(CustomModelViewSet): @transaction.atomic def perform_update(self, serializer): mlogbw = serializer.save() - Mlogbw.cal_count_notok(mlogbw.mlogb) - mlog = mlogbw.mlogb.mlog - mlog.cal_mlog_count_from_mlogb() + if isinstance(mlogbw, list): + pass + else: + Mlogbw.cal_count_notok(mlogbw.mlogb) + mlog = mlogbw.mlogb.mlog + mlog.cal_mlog_count_from_mlogb() + + def after_bulk_update(self, objs): + mlogbIds = list(set([obj.mlogb for obj in objs])) + for mlogbId in mlogbIds: + mlogbw = Mlogbw.objects.get(id=mlogbId) + Mlogbw.cal_count_notok(mlogbw.mlogb) + mlog = mlogbw.mlogb.mlog + mlog.cal_mlog_count_from_mlogb() @transaction.atomic def perform_destroy(self, instance:Mlogbw):