與常規的Serializer相同, 但提供了: 基於模型類自動生成一系列字段, 基於模型類自動為Serializer生成validators,比如unique_together,
包含默認的create和update的實現.
class Meta:
model指明參照哪個模型類,
fields指明為模型類的哪些字段生成
2.指定字段:
1>fields 用來明確字段, __all__表名包含所有字段, 也可以寫明具體哪些字段.
2>使用exclude可以明確排除掉哪些字段
3> 默認ModelSerializer使用主鍵作為關聯字段,但是我們可以使用depth來簡單的生成嵌套表示,depth應該是整數,表明嵌套的層級數量
4> 可以通過read_only_fields指明只讀字段, 僅用於序列化輸出的字段.
3.添加額外參數
可以使用extra_kwargs參數為ModelSerializer添加或修改原有的選項參數
class BookInfoSerializer(serializers.ModelSerializer):
"""圖書數據序列化器"""
class Meta:
model = BookInfo
fields = ('id', 'btitle', 'bpub_date', 'bread', 'bcomment')
extra_kwargs = { 'bread': {'min_value': 0, 'required': True},
'bcomment': {'min_value': 0, 'required': True}, }