django - getlist()

ghz 1years ago ⋅ 9349 views

Question

I just posted this question [jQuery - passing arrays in post request](https://stackoverflow.com/questions/11189079/jquery-passing-arrays- in-post-request/), where I don't to send arrays in post request, but there is no problem in jQuery code.

The problem is with receiving the POST request in django. I did like this.

def portfolio_add(request):
    ukeys = request.POST.getlist('ukeys')
    ........etc.......

But I'm getting ukeys values as u'[]'. When I checked with just request.POST I got the values as u"<QueryDict: {u'ukeys[]': [u'68c04', u'16149']}>"

So, How to get those values as a list in Django?

Thanks!


Answer

jQuery POST's arrays with the [] suffix because PHP and some web frameworks understand that convention, and re-build the array on the server-side for you automatically. Django doesn't work that way, but you should be able to access the data via:

ukeys = request.POST.getlist('ukeys[]')