Django框架之 序列化组件
一、序列化组件
如果我的前端想拿到由ORM得到的数据库里面的一个个用户对象,我的后端想直接将实例化出来的数据对象直接发送给客户端,并且前端能识别。这时候可以自己写一个方法,把每个对象封装成字典的格式,然后将所有的字典放到列表中返回出去。也可以使用相应的模块。毕竟django号称掉包侠。
1.1 自己实现
'''序列化组件'''
def my_serializers(request):
user_queryset = models.UserInfo.objects.all()
'''自己实现orm对象序列化'''
user_list = []
for user_obj in user_queryset:
user_list.append({
"user": user_obj.user,
"pwd": user_obj.password,
'gender': user_obj.get_gender_display(),
})
user_json = json.dumps(user_list)
return render(request,"my_serializers.html",locals())
1.2 Django内置的serializers
'''序列化组件'''
from django.core import serializers
def my_serializers(request):
user_queryset = models.UserInfo.objects.all()
'''使用Django内置的serializers'''
user_json = serializers.serialize('json', user_queryset)
return render(request,"my_serializers.html",locals())