How to add data to tastypie resources in regular django views How to add data to tastypie resources in regular django views json json

How to add data to tastypie resources in regular django views


As is often the case, writing this up helped me find a temporary solution. Maybe someone will have some input on how to make this better.

I am using this to prepare a queryset for serialization:

def serialize_queryset(resource_class, queryset):    # hand me a queryset, i give you dehydrated resources    resource = resource_class()    dd = {}    # make meta    dd['meta'] = {}    dd['meta']['limit'] = 1000    dd['meta']['next'] = None    dd['meta']['offset'] = 0    dd['meta']['previous'] = None    dd['meta']['total_count'] = len(queryset)    # objects    dd['objects'] = []    for obj in queryset:        bundle = resource.build_bundle(obj=obj)        dehydrated_obj = resource.full_dehydrate(bundle)        dd['objects'].append(dehydrated_obj)    # return dict    return dd

And I use the Serializer from tastypie.serializer. and in using it in a sample view is goes something like:

from tastypie.serializer import Serializerserializer = Serializer()def my_view(request):    #... do some other view stuff ...    # prepare a queryset for serialization    queryset = MyModel.objects.filter(is_cool=True)    data = serialize_queryset(MyModel, queryset)    # add in custom stuff, determined earlier in the view somewhere    data['success'] = success    data['message'] = message    data['error'] = error    # serialize and return response    data = serializer.serialize(data)    return HttpResponse(data, mimetype='application/json')

This seems to work. Maybe you see something bad about this method, or a way to improve it?