Обновление наследования для нескольких объектов с помощью сигнала 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
?