由于操作的原因,往往需要页面通过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)
该方法可以代替序列化
时间: 2024-10-29 19:11:43