我在视图中看到了一些意想不到的东西(调试器模式),我不确定我是否在前端或后端出错:
(Pdb) request.QUERY_PARAMS
<QueryDict: {u'types': [u'Component', u'Core']}>
(Pdb) request.QUERY_PARAMS['types']
u'Core'
我希望得到[u'Component', u'Core']
,而不仅仅是一个元素。
在前端,我正在使用Restangular:
var params = {
types: ['Component', 'Core']
};
Restangular.all('search').getList(params)...
后端代码就在DRF查询集中:
def get_queryset(self, *args, **kwargs):
request = self.request
import pdb; pdb.set_trace()
...
我是否需要对字符串列表进行一些特殊编码,或者可能是其他一些问题?
答案 0 :(得分:4)
您需要使用request.QUERY_PARAMS.getlist('types')
,因为request.QUERY_PARAMS
AKA request.GET
是一个django QueryDict。请参阅此处的文档:https://docs.djangoproject.com/en/dev/ref/request-response/#querydict-objects