最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

django序列化serializers過程解析

 更新時(shí)間:2019年12月14日 09:33:27   作者:pfeiliu  
這篇文章主要介紹了django序列化serializers過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了django序列化serializers過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

DRF的核心 就是 前后端分離的核心

前后端分離開發(fā)的核心:

  • 將模型轉(zhuǎn)換為json 稱之為 序列化
  • 將json轉(zhuǎn)換為模型 稱之為 反序列化

Django的序列化工具讓你可以將Django的模型‘翻譯'成其它格式的數(shù)據(jù)。通常情況下,這種其它格式的數(shù)據(jù)是基于文本的,并且用于數(shù)據(jù)交換\傳輸過程。

序列化數(shù)據(jù)

Django為我們提供了一個(gè)強(qiáng)大的序列化工具serializers。使用它也很簡單,如下所示:

from django.core import serializers
data = serializers.serialize("xml", SomeModel.objects.all())
data = serializers.serialize("json", Author.objects.all())
print(data)

[{"model": "index.author", "pk": 1, "fields": {"name": "pfeiliu", "age": 19, "email": "789@163.com", "isActive": false}}, {"model": "index.author", "pk": 5, "fields": {"name": "lao wei", "age": 18, "email": "123@qq.com", "isActive": true}}, {"model": "index.author", "pk": 6, "fields": {"name": "WangDB", "age": 36, "email": "wangdb@163.com", "isActive": false}}, {"model": "index.author", "pk": 7, "fields": {"name": "WangDB", "age": 36, "email": "wangdb@163.com", "isActive": false}}, {"model": "index.author", "pk": 8, "fields": {"name": "WangDB", "age": 36, "email": "wangdb@163.com", "isActive": false}}, {"model": "index.author", "pk": 9, "fields": {"name": "WangDB", "age": 36, "email": "wangdb@163.com", "isActive": false}}, {"model": "index.author", "pk": 10, "fields": {"name": "WangDB", "age": 36, "email": "wangdb@163.com", "isActive": false}}, {"model": "index.author", "pk": 11, "fields": {"name": "WangDB", "age": 36, "email": "wangdb@163.com", "isActive": false}}, {"model": "index.author", "pk": 12, "fields": {"name": "WangDB", "age": 36, "email": "wangdb@163.com", "isActive": false}}, {"model": "index.author", "pk": 13, "fields": {"name": "WangDB", "age": 36, "email": "wangdb@163.com", "isActive": false}}, {"model": "index.author", "pk": 14, "fields": {"name": "WangDB", "age": 36, "email": "wangdb@163.com", "isActive": false}}]

首先,從djang.core導(dǎo)入它,然后調(diào)用它的serialize方法,這個(gè)方法至少接收兩個(gè)參數(shù),第一個(gè)是你要序列化成為的數(shù)據(jù)格式,這里是‘xml',第二個(gè)是要序列化的數(shù)據(jù)對象,數(shù)據(jù)通常是ORM模型的QuerySet,一個(gè)可迭代的對象。

就是這么簡單??!

序列化指定字段

如果你不想序列化模型對象所有字段的內(nèi)容,只想序列化某些指定的字段,可以使用fields參數(shù),如下所示:

from django.core import serializers
data = serializers.serialize('xml', SomeModel.objects.all(), fields=('name','size'))
data = serializers.serialize("json", Author.objects.all(),fields=('name','age'))
print(data)

[{"model": "index.author", "pk": 1, "fields": {"name": "pfeiliu", "age": 19}}, {"model": "index.author", "pk": 5, "fields": {"name": "lao wei", "age": 18}}, {"model": "index.author", "pk": 6, "fields": {"name": "WangDB", "age": 36}}, {"model": "index.author", "pk": 7, "fields": {"name": "WangDB", "age": 36}}, {"model": "index.author", "pk": 8, "fields": {"name": "WangDB", "age": 36}}, {"model": "index.author", "pk": 9, "fields": {"name": "WangDB", "age": 36}}, {"model": "index.author", "pk": 10, "fields": {"name": "WangDB", "age": 36}}, {"model": "index.author", "pk": 11, "fields": {"name": "WangDB", "age": 36}}, {"model": "index.author", "pk": 12, "fields": {"name": "WangDB", "age": 36}}, {"model": "index.author", "pk": 13, "fields": {"name": "WangDB", "age": 36}}, {"model": "index.author", "pk": 14, "fields": {"name": "WangDB", "age": 36}}]

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

仙桃市| 苏尼特左旗| 册亨县| 陈巴尔虎旗| 高碑店市| 长乐市| 湖南省| 平乐县| 沿河| 久治县| 彰化县| 洪江市| 瑞丽市| 昭觉县| 平湖市| 滁州市| 东光县| 会宁县| 西充县| 嘉黎县| 小金县| 沧州市| 伊川县| 高邮市| 桐乡市| 河池市| 松潘县| 集安市| 区。| 资溪县| 萍乡市| 博湖县| 乌兰县| 林甸县| 双城市| 阿鲁科尔沁旗| 微山县| 丰顺县| 武穴市| 和林格尔县| 揭东县|