32-DRF框架-序列化器ModelSerializer

# 如果我们想要使用序列化器对应的是Django的模型类,DRF为我们提供了ModelSerializer模型类序列化器来帮助我们快速创建一个Serializer类

创建modelserializer序列化器

# 在serializer.py中创建序列器
# ModelSerializer模型序列化类
class TsSerializer(serializers.ModelSerializer):
class Meta:
# model 指定给那个模型类创建序列化器
model = TuShu
# 1. fields 指明序列化哪些字段
# {"tid": 1, "name": "喜喜", "riqi": "2022-01-03", "count": 1, "is_delete": true}
# fields = "__all__" # 返回全部字段
# {"tid": 1, "name": "喜喜"}
# fields = ('tid', "name") # 指定字段
# 2. exclude:排除
# {"tid": 1, "name": "\u559c\u559c", "riqi": "2022-01-03", "count": 1}
# exclude = ("is_delete",)
# 3. 指明那些字段只用于序列化输出,不用于反序列化
fields = "__all__"
read_only_fields = ("tid", "name", "riqi")
# 4. 额外参数 -->选项参数
extra_kwargs = {
"count": {"required": True, "min_value": 0}
}

视图调用

class TuShuView3(View):
def get(self, request):
qset = TuShu.objects.all()
# modelSerializer模型序列化器
ts = TsSerializer(instance=qset, many=True)
return JsonResponse(data=ts.data, safe=False)

配置路由

re_path(r"tushu3/$", TuShuView3.as_view(), name="tushu3")
posted @   测试圈的彭于晏  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
点击右上角即可分享
微信分享提示