我的应用 :我在django中创建了一个小型博客应用。每个博客都具有以下属性。 1)标题2)正文3)图像4)upvote / downvote按钮5)率6)评论
任何已登录的用户都可以对特定博客进行upvote或downvote,对其进行评分,给出1-5之间的数字或对该博客发表评论。
我的问题 :现在我想显示用户在博客上执行的活动。我想在不同的网页上显示它/ recent_actions
如果用户x(比如说)赞成博客y(比如说),那么页面/ recent_actions应该更新。页面的最新内容应该像"用户x upvoted blog y 2分钟前&#34 ; 总之,我想为我的博客应用创建一个新闻源。
我的想法:我正在考虑创建一个活动类来跟踪特定领域的变化(比如博客模型中的喜欢)
这里的任何人都有详细的解释,我是在考虑它还是其他更好的方法。
答案 0 :(得分:0)
我认为你的方式是正确的。
在我的项目中,我写了一个抽象的Event
类,以及基于这个类的其他几个类。
类似于:
class Event(models.Model):
is_cancelled = models.BooleanField(default=False)
created = models.DateTimeField(blank=True, null=True)
class Meta:
abstract = True
class ScanEvent(Event):
# fields/methods related to scan actions only
class ReadEvent(Event):
# fields/methods related to read actions only
class ...
由于Event类是抽象的,因此在DB中没有创建表,但是我在Django中保持DRY,因为我没有多次写is_cancelled
个属性。
它对我来说就像一个魅力。
我不知道Aamir Adnan提出的django活动流。我可以好好看看。也许这对你的需求来说太过分了,也许这正是你所需要的:)