Tastypie - 应该在UserResource还是ThreadResource中?

时间:2014-08-20 05:16:20

标签: django tastypie

我使用django tastypie构建一个简单的web api。 我有两个模型\资源:线程和用户 我想实现一个返回参与线程的所有用户的方法。

这里最好的做法是什么,在UserResource或ThreadResource中实现它?

一方面,该方法需要获取用户列表(似乎符合get_object_list方法),另一方面,操作本身会查询线程实例以检索其用户。

我应该在哪里实施该方法?

1 个答案:

答案 0 :(得分:1)

从你的问题

  

返回参与线程的所有用户。

所以基本上,你的资源是User,因此该方法肯定应该在UserResource类中。

您只检索特定线程的用户这一事实与过滤有关:操作不应该查询线程实例以检索其用户,但它应该采取一些参数(例如线程ID)和查询所有用户,按该ID过滤。

当然,实施应该主要受应用程序需求的影响。

我还建议您查看nested resources,这可能更适合您的需求。