通过json序列化方式在django下传递模型数据

由于操作的原因,往往需要页面通过ajax后台加载一些数据,但是在django下,数据往往是通过models获得实例得到的,而传统的json格式只支持dict和list,创建的模型类是不能被序列化的。因此需要先导入from django.core import serializers,采用serializers.serialize("json",queryset)的方法序列化实例。在网页脚本中需要先解读json文件,再获取fields对应的各个实例属性。javascript中通过eval("("+data.internal_info+")")

def toJSON(self):
    fields = []
    for field in self._meta.fields:
        fields.append(field.name)
    d = {}
    for attr in fields:
        d[attr] = getattr(self, attr)

    return json.dumps(d)

该方法可以代替序列化

 

你可能感兴趣的:(通过json序列化方式在django下传递模型数据)