zoukankan      html  css  js  c++  java
  • django序列化操作和数据批量插入

    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能够大大的减少操作时间
        """

     

  • 相关阅读:
    简述序列化与反序列化
    更新Kali源&&Docker vulhub 安装
    超级弱口令爆破工具&&hydra
    通达OA任意用户登录
    读书笔记——白帽子讲Web安全
    骑士CMS搭建与利用
    记一次DVWA的SQL注入测试
    网络基础
    C#类对象的事件定义
    [开源]FreeSCADA的通道数据与控件属性关联以及自动刷新机制研究
  • 原文地址:https://www.cnblogs.com/fangyu-blog/p/13858589.html
Copyright © 2011-2022 走看看