Python 活动流中的匿名参与者

Python 活动流中的匿名参与者,python,django,django-notification,activity-streams,Python,Django,Django Notification,Activity Streams,我正在使用一个系统,该系统有大量关于组内项目创建的通知,并尝试在通知中对匿名参与者进行建模 以人为的例子为例: 一本书属于图书馆,我是图书馆的用户,对某一特定主题的书感兴趣。图书馆会随时通知我某一主题的书籍何时被借出,但出于安全原因,不会让我知道是谁借出的 这方面的活动流是: 一位赞助人(actor)在“计算机书籍”(target)主题中签出了(verb)一本书“学习Python,第五版”(object) 这里的问题是“用户”不是我数据库中的实体,特别是在我的例子中,Django通知需要一个参与

我正在使用一个系统,该系统有大量关于组内项目创建的通知,并尝试在通知中对匿名参与者进行建模

以人为的例子为例:

一本
属于
图书馆
,我是图书馆的用户,对某一特定主题的书感兴趣。图书馆会随时通知我某一主题的书籍何时被借出,但出于安全原因,不会让我知道是谁借出的

这方面的活动流是:

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

这里的问题是“用户”不是我数据库中的实体,特别是在我的例子中,Django通知需要一个参与者,而该参与者是模型的实例。但在这种情况下,不存在这样的“参与者”


有没有更好的方法来编写此活动流?有没有一种编写方法不涉及将假参与者放入数据库?

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

“学习Python,第五版”(演员)由一位赞助人在主题“计算机书籍”(目标)中签出(动词)

如果你看得更近——这样,如果你的顾客是一个真实的实体,他就会变成一个动作对象。但以这种方式保存它并不意味着它应该以这种方式表示。您可以根据需要在模板中呈现此内容

如果您将
查询
替换为
渲染
,您将得到我的观点:

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


我在想类似的事情,但是你能从activitystrea.ms文档中找到支持它的东西吗?如果不是,这似乎是一个好答案,我只是不想不一致。我无法给出答案,但我很想知道这个问题的答案。根据我的经验,我只能说,我一个月前就遇到了同样的问题,用这种方式解决它并没有给我带来任何额外的问题。有一些事件分组通知,就像facebook上的通知一样,结果非常好。