stream - 关注活动显示在新闻Feed中

时间:2016-12-14 01:33:22

标签: getstream-io

我创建了以下Feed: 通知,timeline_aggregated,用户和时间线。

在我的应用程序中,用户可以创建帖子并关注其他用户。用户查看他们关注的人的帖子。但是,当我检索单个用户的新闻Feed时,会跟随跟踪操作以及后期操作。我花了很多时间试图找出原因。可能我错过了什么?

感谢。

class AppBaseModel(models.Model):
  created_at = models.DateTimeField(blank=True, null=True, auto_now_add=True)
  deleted_at = models.DateTimeField(blank=True, null=True)

  class Meta:
      abstract = True

class UserFollow(AppBaseModel, Activity):

  class Meta:
      verbose_name = 'UserFollow'
      verbose_name_plural = 'UserFollows'

  user = models.ForeignKey(API_USER_MODEL, on_delete=models.CASCADE,   related_name='following_set')
  target_user = models.ForeignKey(API_USER_MODEL, on_delete=models.CASCADE, related_name='follower_set')

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

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

  @property
  def extra_activity_data(self):
      return {'user': self.user.id,
            'target_user': self.target_user,
            'created_at': self.created_at}

  @classmethod
  def activity_related_models(cls):
      return ['user', 'target_user']

1 个答案:

答案 0 :(得分:0)

您在创建UserFollow类时继承Activity模型,它将创建“跟随”活动并将它们推送到流中。

https://github.com/GetStream/stream-django#model-integration “只需在要发布的模型上混合使用Activity类。”