在Django中实现一个feed流

时间:2011-07-21 19:26:56

标签: python django django-models

我有一个使用Product模型和Comment模型的Django应用程序。

  • User可以在其最喜欢的产品列表中添加Product

  • User可以将Comment留给Product

我会在我的应用程序的主页中实现一个新闻源,比如Facebook新闻源。

这样的事情:

  • user_1只是评论product_3:“这很漂亮!”
  • user_1刚刚将product_3添加到其列表中
  • user_4刚刚将product_2添加到其列表中
  • user_4刚刚将product_3添加到其列表中
  • user_2只评论product_1:“推荐!”
  • user_4刚刚添加了product_1

所以这是一个包含各种句子的提要。

您有想法以一种好的方式实现类似的东西吗?

2 个答案:

答案 0 :(得分:0)

  1. Django ORM支持多态关联。您可以拥有“基础”实体,如“事件”和具体事件,如“UserEvent”,“ProductEvent”等。这很容易。看这里:https://docs.djangoproject.com/en/dev/topics/db/models/搜索“模型继承”
  2. 查看内容类型:http://docs.djangoproject.com/en/dev/ref/contrib/contenttypes/
  3. 您可以将“呈现”文本保存到数据库中。

答案 1 :(得分:0)

我建议创建一个新模型(比如说UserActions),通过在其他模型的“保存”操作中添加项目,您将跟踪所有需要的操作。 然后,您可以轻松地为此模型构建视图,并按时间顺序生成包含所有操作的Feed。