我在 View 中看到一些意外的东西(调试器模式),我不确定我是否在前端或后端犯了错误:
(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()
...
我是否需要对字符串列表进行一些特殊编码,或者可能存在其他问题?
最佳答案
您需要使用 request.QUERY_PARAMS.getlist('types')
因为 request.QUERY_PARAMS
AKA request.GET
是一个 django QueryDict 。请参阅此处的文档:https://docs.djangoproject.com/en/dev/ref/request-response/#querydict-objects
关于javascript - 将参数从 Angularjs 传递到 Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26537445/