gpt4 book ai didi

python - 构建 simlpe django firehose

转载 作者:行者123 更新时间:2023-12-01 04:38:04 26 4
gpt4 key购买 nike

我有一个应用程序,我想构建一个包含 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 模型,其中包含以下字段:dateaction(添加/删除/update 等)和 object (已更改对象的通用外键)。现在,每当您对要添加到 Firehose 的对象进行更改时,您都需要添加具有正确字段值的 FirehoseClass 的新实例。最后,每当您想要显示 Firehose 时,您只需显示所有 Firehose 对象即可。

关于python - 构建 simlpe django firehose,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31376328/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com