Обновление наследования для нескольких объектов с помощью сигнала django

Я реализую сигналы django для обновления модели, которая была унаследована несколькими другими моделями. Например,

class A:
    name = models.CharField(max_length=199, blank=True, null=True)

class B(A):
    id = models.PositiveIntegerField()

class C(A):
    id = models.PositiveIntegerField()

class D(A):
    id = models.PositiveIntegerField()

Если после сохранения произошли какие-либо изменения, я хочу выполнить операцию. Моя реализация для Signal выглядит следующим образом:

@receiver(post_save, sender=B)
def base_update(sender, instance, **kwargs):
    try:
        obj = sender.objects.get(pk=instance.pk)
    except sender.DoesNotExist:
        # raise an error 
    else:
        # do something

На данный момент это работает для B, но если я рассмотрю остальные модели, то в итоге повторю ту же функцию с разными именами отправителей. Есть ли способ сделать общий Сигнал, который применяется ко всем моделям, наследующим A ?

Вернуться на верх