比如我們建立乙個bookinfoserializer
class bookinfoserializer(serializers.modelserializer):
「」「圖書資料序列化器」""
class meta:
model = bookinfo
fields = 『all』
model指明參照哪個模型類
fields指明為模型類的哪些字段生成
我們可以在python manage.py shell中檢視自動生成的bookinfoserializer的具體實現
2.指定字段
1)使用欄位來明確字段,__all__表名包含所有字段,也可以寫明具體哪些字段,如
class bookinfoserializer(serializers.modelserializer):
「」「圖書資料序列化器」""
class meta:
model = bookinfo
fields = (『id』, 『btitle』, 『bpub_date』)
2)使用排除可以明確排除掉哪些字段
class bookinfoserializer(serializers.modelserializer):
「」「圖書資料序列化器」""
class meta:
model = bookinfo
exclude = (『image』,)
3)預設modelserializer使用主鍵作為關聯字段,但是我們可以使用depth來簡單的生成巢狀表示,depth應該是整數,表明巢狀的層級數量。
class heroinfoserializer2(serializers.modelserializer):
class meta:
model = heroinfo
fields = 『all』
depth = 1
形成的序列化器如下:
4)顯示指明字段,如:
class heroinfoserializer(serializers.modelserializer):
hbook = bookinfoserializer()
class meta:
model = heroinfo
fields = ('id', 'hname', 'hgender', 'hcomment', 'hbook')
5)指明唯讀字段
可以通過read_only_fields指明唯讀字段,即僅用於序列化輸出的字段
class bookinfoserializer(serializers.modelserializer):
「」「圖書資料序列化器」""
class meta:
model = bookinfo
fields = (『id』, 『btitle』, 『bpub_date』, 『bread』, 『bcomment』)
read_only_fields = (『id』, 『bread』, 『bcomment』)
3.新增額外引數
我們可以使用extra_kwargs引數為modelserializer新增或修改原有的選項引數
class bookinfoserializer(serializers.modelserializer):
「」「圖書資料序列化器」""
class meta:
model = bookinfo
fields = (『id』, 『btitle』, 『bpub_date』, 『bread』, 『bcomment』)
extra_kwargs = ,
『bcomment』: ,
}原文:
序列化(模型序列化 序列化巢狀)
from rest framework import serializers from meituan.models import merchant,class merchantserializer serializers.modelserializer class meta model merch...
序列化(序列化)
原書上翻譯為序列化,msdn翻譯為序列化 作用 當需要儲存,或者網路傳輸 remoting時,資料 物件或值 需要序列化 類似於打包傳輸檔案。system.serializableattribute 序列化是指儲存和獲取磁碟檔案 記憶體或其他地方中的物件。在序列化時,所有的例項資料都儲存到儲存介質上...
C 類的序列化和反序列化
在很多通訊或者資料儲存的過程中,都需要序列化和反序列化的過程。在c 中,如果想要進行自定義類的序列化,只需要簡單地在定義類的時候新增serializable標籤即可。如 serializable publicclassperson 經常用到的序列化方式有兩種 二進位制和xml,分為由system.r...