Django 內建序列化
阿新 • • 發佈:2020-10-22
serializers
Django
中提供了非常便捷的序列化元件,特別是對前後端分離專案來說使用非常的方便。
如果我們想對QuerySet
進行序列化,那麼使用這個是非常棒的選擇!
from django.core import serializers
from django.shortcuts import render from django.shortcuts import HttpResponse from django.core import serializers from app01 import models def test(request): if request.method == "POST": user_queryset = models.UserTest.objects.all() res = serializers.serialize("json",user_queryset) # 序列化型別,序列化內容 return HttpResponse(res) return render(request,"base.html",locals())
<body> <button type="button">獲取資料</button> </body> <script src='https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js'></script> <script> window.onload = (() => { document.querySelector("button").addEventListener("click", (ele) => { $.ajax({ url: "http://127.0.0.1:8000/", type: "post", dataType: 'JSON', success: (res) => { console.log(res); }, error:()=>{ console.log("失敗"); } }) }) }) </script>
格式化出的資料:
[{ "model": "app01.usertest", "pk": 1, "fields": { "name": "Yunya", "age": 18, "gender": false } }, { "model": "app01.usertest", "pk": 2, "fields": { "name": "Jack", "age": 19, "gender": true } }, { "model": "app01.usertest", "pk": 3, "fields": { "name": "Tom", "age": 18, "gender": false } }, { "model": "app01.usertest", "pk": 4, "fields": { "name": "Marin", "age": 16, "gender": true } }]