我会继续扩展 simplejson 。基本上,您想在JSON编码器遇到QuerySet时插入django的序列化。您可以使用类似:
from json import dumps, loads, JSonEnprerfrom django.core.serializers import serializefrom django.db.models.query import QuerySetfrom django.utils.functional import curryclass DjangoJSonEnprer(JSONEnprer): def default(self, obj): if isinstance(obj, QuerySet): # `default` must return a python serializable # structure, the easiest way is to load the JSON # string produced by `serialize` and return it return loads(serialize('json', obj)) return JSONEnprer.default(self,obj)# partial function, we can now use dumps(my_dict) instead# of dumps(my_dict, cls=DjangoJSONEnprer)dumps = curry(dumps, cls=DjangoJSONEnprer)有关
defaultmethod的更多信息,请查看simplejson文档。将其放在python模块中,然后导入
dumps,您就可以开始了。但是请注意,此功能将仅帮助您序列化
QuerySet实例,而不能
Model直接序列化实例。



