Well that would require me to use simplejson.dumps(data) right? I need to use my custom serializer in order to do a deep serialization of the model to model dependencies. As far as I understand, serializers are meant to take querysets or something of the sort, not dictionaries containing various kinds of data. Please correct me if I'm wrong. So I can't do something like serializers.serialize('json" {'queryset' : queryset, 'paging_data' : paging_data}). Similarly if I use simplejson.dumps, I lose the ability to get that deep serialization.
-Dmitrij On Tue, Sep 28, 2010 at 11:43 PM, Steve Holden <holden...@gmail.com> wrote: > On 9/28/2010 10:42 PM, Dmitrij wrote: > > I am trying to implement paging across ajax calls. The page should not > > refresh when the user wants to see the next x num of results. > > > > Here is my problem. Returning the QuerySet is super simple. I just do > > (sumaJson is custom) > > > > data = serializers.serialize('sumaJson', result_page.object_list, > > relations=('first_major', 'country_of_origin', 'second_major')) > > return HttpResponse(data, mimetype="application/json") > > > > Now I also want to return things like > > > > result_page.has_previous() > > result_page.has_next() > > result_page.paginator.count > > > > and so on. I for the life of me can't figure out how to get both > > across in one response. I can't add this info to > > result_page.object_list because then the serializer fails. If I > > something of the sort of > > > > simplejson.dumps(paging_info + result_page.object_list) > > > > Then in the javascript the QuerySet is no longer a list of objects but > > just a big string of characters which can't be interpreted with > > > > $.each(data.data, function(index, item){ > > > > I tried some bad hacks like creating a fake object and putting it in > > the object_list, serializing this and then deleting the object. This > > allows me to get the data across. However, I don't want to be creating > > and deleting fake objects. > > > > I don't want to meddle with the serializer. I don't want to send a > > second ajax request once I get the querySet back to get the paging > > info. > > > > Am I missing something? Is there an easy way to get both across in one > > response? Thanks! > > > I don't know about a fake object, but surely if you put everything you > want in a Python dict and then serialize that it will arrive in > JavaScript as an object with named fields, which you can use as you want > by referencing the fields as object attributes. Or am I missing something? > > regards > Steve > > -- > DjangoCon US 2010 September 7-9 http://djangocon.us/ > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To post to this group, send email to django-us...@googlegroups.com. > To unsubscribe from this group, send email to > django-users+unsubscr...@googlegroups.com<django-users%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/django-users?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.