- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个应用程序,我想构建一个包含 2-3 种组合事件类型的“最近事件”/firehose feed,例如帖子、评论和帖子点赞,以及其他内容 + 稍后可能会更多。我假设这是通过查询添加到数据库中的最后一个适当的对象并将其与其他类型的对象的最后一个组合并按时间戳对新的组合对象列表进行排序来完成的。做这样的事情最好的方法是什么?现在,每当有人刷新页面时,我都会得到这样的结果:
NewPost.objects.all().order_by('-postdate')[0:10] #takes the last 16 recently added posts
Comment.objects.all().order_by('-commentdate')[0:10] #takes equal number of comments site wide ordered by timestamp
那么,获取这两个查询集并在按时间戳排序的 1 个列表中呈现不同模型的最佳方法是什么?我假设添加其他类型的对象的逻辑类型是相同的,所以我只想知道如何仅使用 2 个对象来完成此操作。谢谢!
最佳答案
我不太喜欢你的方法,因为当你想将另一个对象放在消防软管上时,你需要添加第三行(AnotherObject.objects.all
...等)到您需要展示消防水带的所有地方!
对我来说,最好的方法是创建一个 Firehose
模型,其中包含以下字段:date
、action
(添加/删除/update 等)和 object
(已更改对象的通用外键)。现在,每当您对要添加到 Firehose 的对象进行更改时,您都需要添加具有正确字段值的 FirehoseClass 的新实例。最后,每当您想要显示 Firehose 时,您只需显示所有 Firehose 对象即可。
关于python - 构建 simlpe django firehose,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31376328/
我有一个应用程序,我想构建一个包含 2-3 种组合事件类型的“最近事件”/firehose feed,例如帖子、评论和帖子点赞,以及其他内容 + 稍后可能会更多。我假设这是通过查询添加到数据库中的最后
我是一名优秀的程序员,十分优秀!