Благодаря подсказке @grimygoop мне удалось создать метод, который может сериализовать любой экземпляр модели Django в JSON, используя связанный ресурс Tastypie. Вот как работает процедура ...
def res_serialize(request, resource, obj):
data = resource.full_dehydrate(resource.build_bundle(obj=obj, request=request))
return resource.serialize(None, data, 'application/json')
Чтобы использовать это, вы уже должны были определить класс Resource, а также иметь объект запроса, чтобы он работал должным образом. Затем вы выполните сериализацию следующим образом:
res_serialize(request,ClientResource(),client)
Примечание ClientResource()
в приведенном выше вызове - мы должны передать экземпляр Resource, а не просто ссылку на класс. Итак, в приведенном выше примере объект client
сериализуется в JSON через связанный класс ресурсов. Это может, например, помочь в пользовательских представлениях, где вы хотите вернуть сериализованный экземпляр объекта.
Кроме того, небольшая модификация этого может обрабатывать наборы запросов вместо отдельных объектов.