Родительский класс
class CommonContentDataModel(CommonDataAbstractModel,
CommonContentTypeDataModel,
CommonTagDataModel):
class Meta:
verbose_name = "Учебный материал"
verbose_name_plural = "Учебный материал"
Дочерние классы
class WebResourceContent(CommonContentDataModel):
url = models.URLField(verbose_name='Ссылка на веб-ресурс')
class Meta:
verbose_name = "Web-ресурс"
verbose_name_plural = "Web-ресурсы"
class ArticleContent(CommonContentDataModel):
content = RichTextField()
class Meta:
verbose_name = "Статья"
verbose_name_plural = "Статьи"
Пробовал повесить так, не работает, т.к. дочерние классы перехватывают вызовы, а на них ничего не весит
@receiver(post_save, sender=CommonContentDataModel)
def make_notifications_about_ed_content_add(sender, **kwargs):
"""Создает уведомление о добавлении учебного материала в систему"""
created = kwargs.get('created', False)
instance = kwargs.get('instance', False)
if instance and created:
admins = User.get_administrators()
content = f"В базу знаний был добавлен новый учебный материал. " \
f"{instance.name}"
notification = BaseNotification.objects.create(content=content)
create_users_notifications(admins, notification)