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

django序列化serializers過(guò)程解析

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

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

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

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

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

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

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

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

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ù)對(duì)象,數(shù)據(jù)通常是ORM模型的QuerySet,一個(gè)可迭代的對(duì)象。

就是這么簡(jiǎn)單?。?/p>

序列化指定字段

如果你不想序列化模型對(duì)象所有字段的內(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}}]

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

相關(guān)文章

最新評(píng)論

闵行区| 紫云| 三门县| 南汇区| 双辽市| 庆云县| 湘潭县| 定陶县| 丽水市| 怀来县| 景宁| 北京市| 顺义区| 盐城市| 清苑县| 吕梁市| 兴海县| 盐源县| 五指山市| 高州市| 奉新县| 彰武县| 尼勒克县| 樟树市| 册亨县| 子长县| 浦县| 瑞金市| 灵石县| 马尔康县| 滨海县| 万州区| 获嘉县| 青海省| 安福县| 准格尔旗| 凤山县| 峨山| 德惠市| 偃师市| 阿坝县|