Reactjs 使用graphql和django分页

Reactjs 使用graphql和django分页,reactjs,django,pagination,graphql,Reactjs,Django,Pagination,Graphql,我使用的是react(fe)、Django(be)和graphql。目前,当我到达页面底部时,我会向无限滚动提要发送请求,以获取更多“帖子” 在django石墨烯中,这就像 ReturnPost.objects.all()[offset,offset+limit]。但是,如果我的return语句不如获取所有帖子那么简单,我该怎么办呢?如果我需要以一种排序的方式返回帖子,而这些帖子并不在DB中,该怎么办?现在,我正在这样做 返回自定义排序(Post.objects.all())[offset,of

我使用的是react(fe)、Django(be)和graphql。目前,当我到达页面底部时,我会向无限滚动提要发送请求,以获取更多“帖子”

在django石墨烯中,这就像 Return
Post.objects.all()[offset,offset+limit]
。但是,如果我的return语句不如获取所有帖子那么简单,我该怎么办呢?如果我需要以一种排序的方式返回帖子,而这些帖子并不在DB中,该怎么办?现在,我正在这样做
返回
自定义排序(Post.objects.all())[offset,offset+limit]
。仍在工作,但我需要对每个请求进行排序(我想,如果Django没有兑现的话)。如何做到这一点,我只需要对它们进行一次排序,然后将这些值保存一分钟,这样我就不必每次请求时都对它们进行排序了?

你见过查询集的方法吗?…是的,我知道这一点,但我想的是更复杂的东西。比如说,我想做一个排序,实现一个机器学习算法,向我展示与用户相关的帖子。就像Instagram一样。那么我想在django必须进行排序。我现在处理请求的方式是,我需要对每个请求进行排序,这感觉不对。如果是这样的话,你就有点误解了它们如何显示建议。为什么每次请求都要计算这些呢?社交媒体平台使用的所有这些algrotihms都会定期运行,并将结果存储在用于查询的数据库中。他们不会缓存完整的结果,也不会对每个请求进行计算(这对他们来说成本非常高,更不用说他们所需要的计算能力是巨大的,也是不可行的)。如何以相对中间的方式实现这一点,或者这是你只会在数据集变得非常大时才会做的事情?如果这种方法很难实现,那么在将结果存储到数据库之前,我所采用的方法是否是最有效的?