首页 > 其他分享 >序列化器ser.validated_data、ser.initial_data、ser.data

序列化器ser.validated_data、ser.initial_data、ser.data

时间:2024-10-05 18:11:43浏览次数:9  
标签:validated return ser initial value 序列化 data

1.ser.data
示例:在视图中返回序列化后的数据

return Response(serializer.data)

2.ser.validated_data

if serializer.is_valid():
  validated_data = serializer.validated_data

3.ser.initial_data
原始数据

4.示例:

class LoginPwdSerializer(serializers.Serializer):
    mobile = serializers.CharField(required=True, validators=[RegexValidator(r"\d{11}", message="格式错误")])
    password = serializers.CharField(required=True)

    def validate_mobile(self, value):
        exists = models.Company.objects.filter(mobile=value).exists()
        if not exists:
            raise ValidationError("手机号不存在")
        return value

    def validate_password(self, value):
        return md5(value)

class LoginPwdView(BaseView, APIView):
    def post(self, request):
        ser = LoginPwdSerializer(data=request.data)
        ser.is_valid(raise_exception=True)

        print(ser.validated_data)
        print(ser.initial_data)
        print(ser.data)
        # instance = models.Company.objects.filter(**ser.).first()

        return Response("ok")

image

标签:validated,return,ser,initial,value,序列化,data
From: https://www.cnblogs.com/cloud-2-jane/p/18448210

相关文章

  • ROS报错The target name "test" is reserved when CTest testing is enabled
    ROS报错“Thetargetname“test“isreservedwhenCTesttestingisenabled”注意:现有特殊情况,可执行文件名可以为test,但是映射名称不可以为test。一般认为,可执行文件名和映射名称同名。因为映射名称不可命名为test,故可执行文件最好不要命名为test。纠正:ROS遇到的问题......
  • Pandas DataFrame对象df 读取数据
    你的df是一个PandasDataFrame对象,类似于一个表格结构的数据,通常有行和列。根据你的描述,表格中有多列数据,例如TS_CODE,DATE,TIME,OPEN等,总共有33列。要显示df中某个特定项目的值,例如“股票的当前价格”,你可以按照以下方式来操作。假设df里有一列CURRENT_PRICE表......
  • GraphQL、sequelize-typescript 、Apollo Server 4 实例
    新建项目文件夹$mkdirdemo$cddemo初始化TypeScript配置$npxtsc--init安装SequelizeSequelize-cli$npminstall--save-dev@types/node@types/validator$npminstallsequelizereflect-metadatasequelize-typescript$npminstall--save-devts-node......
  • mysql 连接失败:message from server: "Host 'xx.xxx' is not allowed to connect to t
    前言mysql连接失败:messagefromserver:"Host'192.168.xx.xxx'isnotallowedtoconnecttothisMySQLserver"解决错误信息表明你尝试从IP地址192.168.xx.xxx连接到MySQL服务器,但是该IP地址没有被授权连接权限。为了解决这个问题,你需要确保你的MySQL用户权......
  • Cisco Secure Firewall 3100 Series FTD Software 7.6.0 & ASA Software 9.22.1
    CiscoSecureFirewall3100SeriesFTDSoftware7.6.0&ASASoftware9.22.1FirepowerThreatDefense(FTD)Software-思科防火墙系统软件请访问原文链接:https://sysin.org/blog/cisco-firepower-3100/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgCiscoSec......
  • Migrate SQL Server to AWS & Azure & Huawei Cloud
    MigrateSQLServertoAWSMicrosoftSQLServerAlwaysOnavailabilitygroupsprovideahighavailability(HA)anddisasterrecovery(DR)solutionforSQLServer.Anavailabilitygroupconsistsofaprimaryreplicathatacceptsread/writetraffic,andup......
  • Verifying that your constructor params satisfy all assert conditions 部署测试合
     运行trufflemigrate报错***DeploymentFailed***"TestT**"hitaninvalidopcodewhiledeploying.Try:*Verifyingthatyourconstructorparamssatisfyallassertconditions.*Verifyingyourconstructorcodedoesn'taccessanarr......
  • java 反序列化 cc6 复现
    复现环境:common-collections版本<=3.2.1,java版本随意.我们观察java高于8u71的版本会发现sun.reflect.annotation.AnnotationInvocationHandler类被进行了修改,其中的readObject不去调用setvalue方法,而是创建了一个LinkedHashMapvar7去重新进行操作,使我们之前的利用链中断.p......
  • MySQL 中的 LAST_INSERT_ID()函数详解
    在MySQL数据库中,LAST_INSERT_ID()是一个非常有用的函数。它可以帮助我们获取最近一次插入操作所生成的自增ID值。本文将详细解释MySQL中的LAST_INSERT_ID()函数及其用途。一、函数介绍LAST_INSERT_ID()是MySQL中的一个内置函数,它返回最近一次插入操作所生成的自增ID值......
  • WPF Datagrid display via DataGridTemplateColumn
    <DataGridTemplateColumnHeader="Image"><DataGridTemplateColumn.CellTemplate><DataTemplate><ImageSource="{BindingDataContext.ImgUrl,RelativeSource={RelativeSourceMode=F......