Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用现有的Tastypie资源将Django模型实例转换为JSON?_Json_Django_Tastypie - Fatal编程技术网

如何使用现有的Tastypie资源将Django模型实例转换为JSON?

如何使用现有的Tastypie资源将Django模型实例转换为JSON?,json,django,tastypie,Json,Django,Tastypie,这个问题与相关,但我希望使用现有的Tastypie资源将单个模型实例转换为JSON。感谢@grimygoop的提示,我创建了一个方法,可以使用相关的Tastypie资源将任何Django模型实例序列化为JSON。以下是程序的工作原理 def res_serialize(request, resource, obj): data = resource.full_dehydrate(resource.build_bundle(obj=obj, request=request)) re

这个问题与相关,但我希望使用现有的Tastypie资源将单个模型实例转换为JSON。

感谢@grimygoop的提示,我创建了一个方法,可以使用相关的Tastypie资源将任何Django模型实例序列化为JSON。以下是程序的工作原理

def res_serialize(request, resource, obj):
    data = resource.full_dehydrate(resource.build_bundle(obj=obj, request=request))
    return resource.serialize(None, data, 'application/json')
要使用它,您必须已经定义了一个资源类,并且还必须有一个请求对象才能使其按预期工作。然后执行序列化,如下所示:

res_serialize(request,ClientResource(),client)
注意:在上面的调用中,我们必须传递资源实例,而不仅仅是类引用。因此,在上面的示例中,对象
client
通过关联的资源类被序列化为JSON。例如,在希望返回对象的序列化实例的自定义视图中,这可能会有所帮助

此外,对其稍加修改即可处理QuerySet而不是单个对象