Vin*_*lli 19
嗯,
你可以这样做:
/api/v1/message/?accountId__in=1&accountId__in=5&accountId__in=12
PS:在过滤元属性时,添加 {'accountId': ALL}
最近的版本似乎很容易 - 只需使用"__in":
/api/v1/message/?accountId__in=1,5,12
Run Code Online (Sandbox Code Playgroud)
(我假设你的资源Meta类需要一个条目,filtering = {'accountId':ALL})
您必须构建并应用过滤器.这是一个小片段,最好在build_filters中构建过滤器,然后将其应用于apply_filters,但你会得到这个想法
class Foo(ModelResource):
# regular stuff goes here...
def apply_filters(self, request, applicable_filters):
base_object_list = super(Foo, self).apply_filters(request, applicable_filters)
query = request.GET.get('query', None)
ids = request.GET.get('ids', None)
filters = {}
if ids:
ids = ids.replace('+', ' ').split(' ')
filters.update(dict(id__in=ids))
if query:
qset = (
Q(title__icontains=query, **filters) |
Q(description__icontains=query, **filters)
)
base_object_list = base_object_list.filter(qset).distinct()
return base_object_list.filter(**filters).distinct()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9515 次 |
| 最近记录: |