django使用restframework序列化查詢集合(querryset)

第一:前端

pip install djangorestframeworkdjango

第二:json

在setting.py文件中的app添加名爲:app

 'rest_framework',

第三:再項目的APP下面新建名爲(能夠別的名字):serializers.pyui

第四:引入模型類到serializers.py,並在serializers.py中新建序列化類並定義要返回的字段spa

from rest_framework import serializers  #引入序列化的模塊
from ceshi.models import ceshiList,recordList   #引入模型類

class ceshiListSer(serializers.ModelSerializer):
    detectionTime = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S", required=False, read_only=True)   #用於從新設定時間的格式
    class Meta:
        model = ceshiList
        fields=("id","ceshiname","number","statusList","detectionTime ")
        # fields="__all__"   #能夠像上面同樣定義字段,也能夠這樣所有


class recordListSer(serializers.ModelSerializer):
    addTime = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S", required=False, read_only=True)
    class Meta:
        model = recordList
        fields = ("id", "ceshi2name", "addTime","ipList")
        # fields="__all__"

第五:在view.py中調用serializers.py中的類返回序列化的jsonrest

from ceshi.serializers import ceshiListSer,recordListSer
from ceshi.models import ceshiList,recordList
from django.http import JsonResponse

#就簡單使用一個進行說明
def ceshifunc():
    ceshi = ceshiList.objects.all()  #獲取模型類對象集合
    serializer = ceshiListSer(ceshi , many=True)   #many=True 能夠返回多條,若是沒有添加,只返回第一條
    return JsonResponse({"data": serializer.data})   #serializer.data是已經序列化的json數據  

 第六:若是前端須要不一樣樣式的JSON格式,就須要在serializers.py中,再定義一個序列化類code

相關文章
相關標籤/搜索