我正在使用一个系统,该系统围绕组内项目的创建有很多通知,我正在尝试为通知中的匿名演员建模。
考虑一个人为的例子:
Book
属于Library
,我是对特定主题的图书感兴趣的图书馆用户。图书馆让我随时了解某个主题的书籍何时签出,但出于安全原因,我不知道是谁签出了这些书籍。
此活动流将为:
赞助人(
actor
)在“计算机书籍”(verb
主题中签出了“学习Python,第5版”(object
)这本书(target
) )。
这里的问题是“赞助人”不是我数据库中的实体,特别是在我的情况下,Django-notifications 需要一个actor,并且该actor是模型的实例。但在这种情况下,没有“演员”本身。
有没有更好的方法来编写此活动流?有没有办法写它不涉及将假演员放入数据库?
答案 0 :(得分:2)
您决定如何表示通知。 你可以保存这些类型的通知:
"学习Python,第5版" (演员)被主题的赞助人签出(动词)"计算机书籍" (目标)
如果你看得更近 - 以这种方式,如果它是一个真正的实体,你的顾客就会成为action object
。但是以这种方式保存它并不意味着它应该以这种方式表示。您可以根据需要在模板中渲染它。
docs中的一条注释,如果您将query
替换为render
,您将明白我的观点:
动作的生成方式与您希望查询它们的方式无关,因此可以稍后查询它们,以根据所有可能的关联生成不同的流。