我正在使用Django和Python(但我不认为这是相关的;我只是想知道如何做到这一点),我想知道如何将来自个人用户的帖子组合成一个提要。例如,用户a
正在“关注”(订阅)人b
,c
和d
。还有其他用户,例如e
,其中a
人没有关注。其他用户(例如b
和c
)也可以关注其他用户。用户不能关注任何人,某些人或所有人。
我想按照日期顺序选择用户a
所关注的所有帖子。所有帖子都存储在名为user_post
的PostgreSQL表中,其中包含id
,user_id
,content
和time
列。
有什么方法可以有效地做到这一点?我知道Twitter,tumblr和Facebook等网站都这样做。我不是在寻找Python特定的例子。
答案 0 :(得分:0)
您可以使用in
lookup轻松完成此操作。
您只需要获取被跟踪用户的ID,然后查询这些用户作为作者的所有帖子。考虑到我不了解你的模型方案,这里有一些粗略的代码。
following = active_user.following_set.all().values_list('id', flat=True)
posts = Post.objects.filter(author__in=following)