Я вижу что-то неожиданное внутри вида (режим отладчика), я не уверен, если я делаю ошибку в интерфейсе или интерфейсе:Попутный PARAMS от Angularjs Джанго
(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)...
код Backend только внутри ФПИ QuerySet:
def get_queryset(self, *args, **kwargs):
request = self.request
import pdb; pdb.set_trace()
...
мне нужно сделать некоторые специальные кодировки для списка Do строк или, возможно, некоторых других вопросов?
Несколько связанных вопросов: если я передаю '[1,2,3]', целые числа преобразуются в строку, есть ли способ избежать этого? – WBC
@WBC для Django нет способа узнать тип значения, представленного в строке запроса, чтобы они всегда были строками. Вам нужно сделать что-то вроде '[int (q) для q в request.QUERY_PARAMS.getlist ('types')]'. Вы можете создать форму Django и использовать «TypedMultipleChoiceField», но это то же самое. – rojoca
Большое спасибо ... так как вы упомянули понимание списка, есть ли разница в производительности между '[int (q) для q в списке]' vs 'map (lambda x: int (x), list)'? – WBC