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能夠大大的減少操作時間
    """

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM