Django ERST framework----》drf
序列化:把模型數(shù)據(jù)轉(zhuǎn)成可傳輸?shù)臄?shù)據(jù)就叫序列化。
反序列化:把可傳輸?shù)臄?shù)據(jù)轉(zhuǎn)成模型數(shù)據(jù)叫反序列化。
利用序列化生成JSON數(shù)據(jù)
'''python
from rest_framework.renderers import JSONRenderer
art = Article.objects.get(id=1)
ser = ArticleSerializer(art)
json_data = JSONRenderer().render(ser.data)
-#多個(gè)對(duì)象序列化
art = Article.objects.all()
ser = ArticleSerializer(art,many=True) # 如果多個(gè)對(duì)象序列化 需要加many
ser.data
'''
利用反序列化生成模型對(duì)象
'''
python manage.py shell
from app03.serializers import ArticleSerializer
d = {"title":"這是一個(gè)測(cè)試標(biāo)簽","vnum":11,"content":"哈哈哈哈"}
ser = ArticleSerializer(data=d)
ser.is_valid()# 驗(yàn)證數(shù)據(jù)是否正確
ser.save()# 保存數(shù)據(jù)
'''當(dāng)序列化的時(shí)候 如果是多個(gè)數(shù)據(jù) 需要man=True,單個(gè)對(duì)象不需要
當(dāng)我們序列化的時(shí)候,要不用關(guān)鍵字instance,或者不用
當(dāng)我們反序列化的時(shí)候 要用data關(guān)鍵字
當(dāng)請(qǐng)求方法為PATCH 序列化需要加 partial=True 讓支持增量更新
返回json數(shù)據(jù)的content_type 一定是applicationk/json
路由里面的參數(shù)跟視圖里面的參數(shù)一定要一樣,因?yàn)槭顷P(guān)鍵字傳參