Django Tastypie-查询集或过滤器

Django Tastypie-查询集或过滤器,django,tastypie,Django,Tastypie,我使用的是tastype,我遇到了一个问题 我的问题是: 用户可以发布消息,如果其他用户订阅了该用户,他们可以在主页上看到这些消息。它的与twitter完全一样,用户在推特,追随者在看他们的推特 我有一个用于所有消息的公共api。 我可以使用?userid=1 问题的错误解决方案: 我可以使用过滤多个用户的消息(从而解决问题) ?userid\uuuuu in=1&userid\uuuuuuuu=5&…… 但这不是一个好方法,因为url长度将增加到可能不允许的数量。(2000字) 有更好的方法吗

我使用的是tastype,我遇到了一个问题

我的问题是:

用户可以发布消息,如果其他用户订阅了该用户,他们可以在主页上看到这些消息。它的与twitter完全一样,用户在推特,追随者在看他们的推特

我有一个用于所有消息的公共api。
我可以使用
?userid=1

问题的错误解决方案:
我可以使用
过滤多个用户的消息(从而解决问题)
?userid\uuuuu in=1&userid\uuuuuuuu=5&……

但这不是一个好方法,因为url长度将增加到可能不允许的数量。(2000字)

有更好的方法吗?
有没有一种方法可以在查询集中使用
request.user
进行加入?
或者我应该使用某种高级过滤功能吗


谢谢大家!

?大概是这样的:

URL:your/api/messages.json?user_id=5,8,10,25

然后在代码中将其转换为实际列表,并查询:


Message.objects.filter(user\uu id\uu in=user\u id)

如果有人传入一个他们想查看更新的
用户id列表,然后对其进行筛选,会怎么样?大概是这样的:

URL:your/api/messages.json?user_id=5,8,10,25

然后在代码中将其转换为实际列表,并查询:


Message.objects.filter(user\uu id\uu in=user\u id)

Tastypie已经通过过滤中的u\u支持此功能(ORM支持Tastypie的所有内容都会公开,除了否定)。不需要编码

看这里:

然而,当有人订阅了许多用户时,你的URL仍然会变得巨大。相反,您可以将此信息保留在DB模型中(哪个用户通过单独的联合模型作为模型内的递归多用户关系订阅给哪个用户)

然后,您可以通过您的资源公开此内容,而无需通过URL将订阅指定为参数和/或筛选器。相反,资源中的基本查询集是:

userids = request.user.subscription_userset.values(id)

前提是您在
用户
模型中具有
自我
多人关系。看,还有。

tastype已经通过过滤中的__;支持此功能(ORM支持tastype公开的所有内容,除了否定)。不需要编码

看这里:

然而,当有人订阅了许多用户时,你的URL仍然会变得巨大。相反,您可以将此信息保留在DB模型中(哪个用户通过单独的联合模型作为模型内的递归多用户关系订阅给哪个用户)

然后,您可以通过您的资源公开此内容,而无需通过URL将订阅指定为参数和/或筛选器。相反,资源中的基本查询集是:

userids = request.user.subscription_userset.values(id)

前提是您在
用户
模型中具有
自我
多人关系。看,还有。

谢谢!你知道我如何使用tastypie来实现这一点吗?不知道,但看起来这会给你一个很好的起点:谢谢!你知道我如何使用tastypie实现这一点吗?不知道,但看起来这会给你一个很好的起点: