如何从时间轴中只获取推文(仅帖子)?

How to get only Tweet (only posts) from the timeline?

每当创建推文时,都会将其 activity 添加到 getStream 生产应用程序。

class Tweet(models.Model, Activity):
    user = models.ForeignKey()
    text = models.CharField()

class Follow(models.Model, Activity): <- This is adding new activity to the timeline

def follow_feed_lisnner(~)
signal.post_save.connect(~)

class Like(models.Model, Activity): <- Like is adding to activity so timeline automatically shows who liked this post, 

我的期望:

Feed:仅在时间轴上显示推文(我不想看到谁开始关注我,或喜欢任何 post)- 就像 Instagram!

通知:谁关注了我,谁点了我的post,谁评论了我的post。

views.py

feeds = feed_manager.get_news_feeds(request.user.id)
# get the newsfeed for user. 
activities = feeds.get('timeline').get()['results']
activities = enricher.enrich_activities(activities)

可能的解决方案

如何在时间线上只显示推文(而不是点赞、关注或其他应通知的活动)?

谢谢

更新

如果我没理解错的话,应该可以。这有效吗?

class Follow(models.Model, Activity):
    follower = 
    following

    @property
    def activity_author_feed(self):
        return 'notification' 

Activity 1: user A follows user B. 
Activity 1 goes to 'user' feed + 'notification' feed (not timeline feed) 
//notification feed name already exists so I don't need to create follow feed group

Activity 2: user B creates Post
Activity 2 goes to 'user' feed + 'timeline' feed

注意:我假设您的关注和点赞模型有一个 "user" 字段。如果没有,最好使用完整模型 类 更新问题,并确认您是否正在设置任何其他后续关系。

stream-django 集成提供了一个 'Activity' 模型 Mixin 和 FeedManager 模型管理器。他们一起工作,将活动添加到 Feed 组和 Feed,其唯一性 "feed id" 来自模型实例。

默认情况下,提要 ID 由应用范围 settings.USER_FEED 设置决定。这应该适用于您的 Tweet 模型,但可能不是您想要的 FollowLike 模型。理想情况下,与这些模型相关的活动属于单独的提要。这可以通过覆盖 Activity.activity_author_feed 属性 函数来设置。

class Follow(models.Model, Activity):
    # snipping fields

    @property
    def activity_author_feed(self):
        return 'Follow' # Must match a Feed Group defined in the Stream dashboard

    @property
    def activity_actor_attr(self):
        return self.author

要将这些活动复制到通知提要中,请实施 Activity.activity_notify() 函数以 return 目标提要列表。

    @property
    def activity_notify(self):
        return [feed_manager.get_notification_feed(self.user.id)]