Thanks for the reference and critique, Tom. Currently this is an
internal API to connect two systems together. The query structure was
requested from one set of developers. I am planning on setting up an
external API for another project and this will be helpful in creating
a standard structure.

On Mar 9, 11:03 am, Tom Evans <[email protected]> wrote:
> On Mon, Mar 8, 2010 at 10:41 PM, Nick <[email protected]> wrote:
> > I am working on an api that outputs a list of JSON based on certain
> > criteria.  Currently if someone 
> > entershttp://example.mysite/slideshows/api?id=1
> > it returns a JSON serialized output of the slideshow with that ID.
>
> > What I would like to do is allow for multiple ids, so
> >http://example.mysite/slideshows/api?id=1,2,5,9,10will pull in JSON
> > values for each of those slideshows.
>
> > I'd like to keep from using a third party API solution, I have checked
> > them out and I like the customization with the hand built process
>
> > I am doing everything through a get process in a view, here it is:
>
> > def slideshowAPI2(request):
> >    error = False
> >    if 'id' in request.GET and request.GET['id']:
> >        id = request.GET['id']
> >        object = slideshow.objects.get(pk=id)
> >        return render_to_response('slideshow.json',
> >            {'object': object, 'id':id})
> >    if 'year' in request.GET and request.GET['year']:
> >        year = request.GET['year']
> >        object = serializers.serialize("json",
> > slideshow.objects.filter(publishdate__year=year))
> >        html = "%s" % object
> >        return HttpResponse(html)
> >    else:
> >        error = True
> >        return render_to_response('slideshow.json', {'error': True})
>
> Just a mild critique:
>
> http://example.mysite/slideshows/api?id=1,2,5,9,10
>
> This is not the usual or typical way to pass a list of values into a
> url query string. Typically, you would specify the id argument
> multiple times in the query string. This is how your browser, a JS
> framework, django or anything that is designed to parse query strings
> would expect to receive a list of values. Eg:
>
> http://example.mysite/slideshows/api?id=1&id=2&id=5&id=9&id=10
>
> In django, you can retrieve a list of values passed in a query string
> like this with the getlist() method on QueryDict[1]. Eg:
>
> if 'id' in request.POST:
>   ids = request.POST.getlist('id')
>
> Cheers
>
> Tom
>
> [1]http://docs.djangoproject.com/en/1.1/ref/request-response/#django.htt...

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to