我有一种情况,我想根据传入的过滤器修改资源的查询集。
我想要这个,因为某些过滤器需要将昂贵的操作添加到查询集中,我想只在用户请求相关过滤器时执行这些操作。
文档(HERE)向您展示了如何使用contains_1 [1;2;3;4];;
- : bool = true
contains_1 [2;3;4;5];;
- : bool = false
(有权访问请求)修改查询集。
我想做类似的事情:
class MyResource(ModelResource):
get_object_list
有什么想法?如果我可以在不中断请求/响应周期的其余部分的情况下从get_object_list执行build_filters,那么这可能会解决我的问题。任何方向都表示赞赏。
答案 0 :(得分:0)
希望有人能找到更好的答案,但是:
我检查了request
对象,发现它有一个存储queryDict
的请求[' GET']字段。
所以,如果你打电话给localhost:8000/api/dosomething?first_name=stevie&last_name=wonder
然后request['GET'].keys()
将返回['first_name,' 'last_name']
就我的目的而言,这已经足够了。您可能希望将其传递给self.build_filters
,但我并不需要。