我使用GetStream Django程序包與getstream.io進行交互。我已經使用Enricher()
類來豐富我用了feed_manager.get_user_feed()
Django的模型信息輸入活動取得了成功,但不能與feed_manager.get_notification_feed()
GetStream(Django) - 無法提供豐富通知Feed
這裏是我的模型的簡化版本得到了類似的結果。
class Task(models.Model, Activity):
title = models.CharField()
assigned_to = models.ForeignKey(User)
created_at = models.DateTimeField(auto_now_add=True)
created_by = models.ForeignKey(User)
@property
def activity_object_attr(self):
return self
@property
def activity_actor_attr(self):
return self.assigned_to
@property
def activity_notify(self):
return [feed_manager.get_notification_feed(self.assigned_to.id),]
如果我認爲抓住了用戶飼料:
enricher = Enrich()
feed = feed_manager.get_user_feed(request.user.id)
# feed = feed_manager.get_notification_feed(request.user.id)
activities = feed.get(limit=25)['results']
enriched_activities = enricher.enrich_activities(activities)
我輸出的作品如預期,且每一種獲取與模板中的正確數據填充:
Actor: {{ activity.actor }}<br>
Title: {{ activity.title }}<br>
Time: {{ activity.time|timesince }}<br>
然而,如果我切換到通知Feed(請注意行中註釋的更改):
enricher = Enrich()
# feed = feed_manager.get_user_feed(request.user.id)
feed = feed_manager.get_notification_feed(request.user.id)
activities = feed.get(limit=25)['results']
enriched_activities = enricher.enrich_activities(activities)
然後,我可以從中獲得數據的唯一字段是activity.created_at
。
的activity.keys
輸出顯示以下內容:
[u'activities', u'group', u'activity_count', u'created_at', u'updated_at', u'actor_count', u'verb', u'is_seen', u'id', u'is_read']
看起來也許是通知廣播,演員和對象不被報告給GetStream:
但是,它是針對用戶飼料:
我很困惑,爲什麼。我錯過了什麼?
您應該將此標記爲正確答案;) –
感謝您與社區分享! – Thierry
@TommasoBarbugli系統我需要等待2天才能將自己的答案標記爲正確答案 –