django自带的序列化组件(drf做铺垫)
在实际的前后端分离的项目中,我们经常需要在后端项目中获取到数据库中的数据,将数据库中的数据序列化打包,以json数据随着代码一起发给后端。那么在这个时候我们需要对数据库中的数据进行序列化操作。
import json
from django.http import JsonResponse
from django.core import serializers
def ab_ser(request):
user_queryset = models.User.objects.all()
#用自己的方法将数据库获取到的数据进行json序列化
# [{},{},{},{},{}]
# user_list = []
# for user_obj in user_queryset:
# tmp = {
# 'pk':user_obj.pk,
# 'username':user_obj.username,
# 'age':user_obj.age,
# 'gender':user_obj.get_gender_display()
# }
# user_list.append(tmp)
# return JsonResponse(user_list,safe=False)
# return render(request,'ab_ser.html',locals())
# django后端序列化
res = serializers.serialize('json',user_queryset)
"""会自动帮你将数据变成json格式的字符串 并且内部非常的全面"""
return HttpResponse(res)
批量插入
def ab_pl(request):
# 先给Book插入一万条数据
# for i in range(10000):
# models.Book.objects.create(title='第%s本书'%i)
# # 再将所有的数据查询并展示到前端页面
# book_queryset = models.Book.objects.all()
# 批量插入
# book_list = []
# for i in range(100000):
#生成书籍对象,没有对数据库进行操作。
# book_obj = models.Book(title='第%s本书'%i)
# book_list.append(book_obj)
#一次性直接插入
# models.Book.objects.bulk_create(book_list)
"""
当你想要批量插入数据的时候 使用orm给你提供的bulk_create能够大大的减少操作时间
"""