【发布时间】:2015-11-16 10:52:00
【问题描述】:
我有一个包含多个多对多字段的模型:
class Author(models.Model):
name = models.CharField(max_length=30)
class Topic(models.Model):
description = models.CharField(max_length=30)
class Article(models.Model):
authors = models.ManyToManyField(Author, related_name='articles')
topics = models.ManyToManyField(Topic, related_name='articles')
我需要一些非常简单的东西:
保存文章后执行的方法,我可以访问该实例的作者和主题。
我的第一次尝试是使用post_save 信号,但在保存模型本身时会触发信号,而不是在保存其关系后触发,这显然来自直通模型。
经过一些在线阅读后,我意识到我可能需要创建自己的信号并连接到它。问题是我不知道要覆盖什么以及在哪里触发该信号。
由于我需要在多个模型上使用它,我想我可以创建一些 M2MPostSaveModel 类并让我的模型继承它,这样我就可以捕捉信号了..
但是 Django 将信号发送到哪里呢?我怎样才能覆盖它?老实说,我不知道,我在文档中搜索也没有运气,所以如果它已经存在并且我没有看到它,我深表歉意。
【问题讨论】:
标签: python django django-admin django-signals