活动流中的匿名参与者

时间:2015-03-02 11:19:07

标签: python django django-notification activity-streams

我正在使用一个系统,该系统围绕组内项目的创建有很多通知,我正在尝试为通知中的匿名演员建模。

考虑一个人为的例子:

  

Book属于Library,我是对特定主题的图书感兴趣的图书馆用户。图书馆让我随时了解某个主题的书籍何时签出,但出于安全原因,我不知道是谁签出了这些书籍。

此活动流将为:

  

赞助人(actor)在“计算机书籍”(verb主题中签出了“学习Python,第5版”(object)这本书(target) )。

这里的问题是“赞助人”不是我数据库中的实体,特别是在我的情况下,Django-notifications 需要一个actor,并且该actor是模型的实例。但在这种情况下,没有“演员”本身。

有没有更好的方法来编写此活动流?有没有办法写它不涉及将假演员放入数据库?

1 个答案:

答案 0 :(得分:2)

您决定如何表示通知。 你可以保存这些类型的通知:

  

"学习Python,第5版" (演员)被主题的赞助人签出(动词)"计算机书籍" (目标)

如果你看得更近 - 以这种方式,如果它是一个真正的实体,你的顾客就会成为action object。但是以这种方式保存它并不意味着它应该以这种方式表示。您可以根据需要在模板中渲染它。

docs中的一条注释,如果您将query替换为render,您将明白我的观点:

  

动作的生成方式与您希望查询它们的方式无关,因此可以稍后查询它们,以根据所有可能的关联生成不同的流。