Django Сигналы проверяют, когда все post_save завершены и функция запуска финала - PullRequest
0 голосов
/ 26 марта 2020

Есть ли способ перехватить все сигналы post_save (инициированные из текущего запроса) и проверить, когда все они завершены? Если все post_save завершены, запустите функцию final.

Пример:

from django.db import models
from django.db.models.signals import post_save
from django.dispatch import receiver


@receiver(post_save, sender=Model1)
@receiver(post_save, sender=Model2)
@receiver(post_save, sender=Model3)    
def example_function(sender, instance, created, **kwargs):
    if created and isinstance(instance, Model1):
        run_model1_fun()

    if created and isinstance(instance, Model2):
        run_model2_fun()

    if created and isinstance(instance, Model3):
        run_model3_fun()

   #IF all post_save completed
   run_final()
...