我有4个模型用户,帖子,评论,朋友。请参阅以下型号
现在,我需要一个API,用于用户最近完成的十大活动。
它可以是所有这三种的组合,即用户最近的帖子+用户最近的评论+用户添加的最近的朋友
或者只能有一个评论
或者只能出现在帖子上
或者只能是朋友
基本上我需要用户最近做的10件事,
如何在三个模型中按日期对这些数据进行排序,并将其放入一个结果列表中?
所以我可以分页到结果列表。
用户模型-存储有关用户的所有详细信息。
class User(models.Model):
......
'' ''''Posts模型-存储用户创建的帖子。
class Posts(models.Model):
......
'' ''''注释-将用户的评论存储在帖子中。
class Comments(models.Model):
......
'' ''''朋友-储存朋友信息
class Friends(models.Model):
......
'' ''''发布于 2021-05-17 09:25:53
备选案文1
我想要一个user_activity表
CREATE TABLE "uesr_activity" (
"id" BIGINT PRIMARY KEY,
"timestamp" TIMESTAMP WITH TIME ZONE,
"user_id" BIGINT,
"verb" TEXT, -- perhaps enum
"object_type" TEXT, -- perhaps enum
"object_id" BIGINT
);每次你创建一个帖子,评论,只是也写到这个表。
选项2
从post comments表中查询前10位,在应用层中合并/排序,将合并后的前10位返回给客户端。在随后的分页中,使用两个游标/ In,从每个大于游标的表中查询下10个
https://stackoverflow.com/questions/67566544
复制相似问题