当前位置: 首页 > 网络应用技术

Django框架

时间:2023-03-06 13:42:38 网络应用技术

  当使用Django中的DRF框架时,它提供了一个非常重要的功能是序列化器。例如,我们需要将前端json数据转换为模型,或者在返回数据转发数据时,然后将模型转换为JSON的过程称为序列化,并且将JSON数据转换为模型作为模型反分级

  为了获取模型中的字段,序列化器中的字段应与模型类中的字段名称一致

  从ret_framework.serializers.serializer模块继承的序列化器

  例如,我们定义了书籍课程和英雄的序列化合物

  书序器

  英雄 - 类序列化器

  min_value = none)DECIMALFIELDDECIMALFIELD(max_digits,decimal_places,coerce_to_string = none,max_value = nonemin_length = none,max_length = none,max_length = none)ditcefielddictfield(child)

  max_length最大长度min_lenght最小长度允许_blank允许空trim_whitespace是否空白字符max_value max_value最小值min_value min_value最大参数:

  read_only表示该字段仅用于序列化输出,默认falsewrite_only表示该字段仅用于派生输入,默认falsequred表示必须在派生派生时输入字段。,默认的falseValidators此字段使用验证设备错误_MESSAGES字典带有错误编号和错误消息。当使用HTML显示API页面时,显示的字段名称help_text用于HTML Display API Page.prompt Information Serialializer在REST_FRAMEWORK.SERIALIZERS.SERIALIZERS.MODELIALIAMER中继承;

  目前,指示每个字段的序列化类型和选项参数,这为后续提供了验证行为

  同样,请使用书籍和英雄来审理案件

  书籍定义:

  英雄定义

  序列化对象的构造方法

  序列化设备名称(instance = none,data =空,** kwary)

  1:n书:英雄

  关联的模型类别名称name_set作为字段名称,同时,您需要通过许多参数标记多个数据

  N:1英雄:书籍

  案件:

  撤退分为两个步骤:

  将序列化器用于深丁字汀,您需要在序列化之前对其进行验证。通过验证后,可以获取数据以将其保存为模型类对象。

  在获得序列化数据之前,请验证IS_VALID方法,并将返回boolean值对或false;

  验证失败返回false,此时您可以通过错误方法返回错误原因。

  验证成功后,返回真实。目前,您可以通过价值方法获取数据;

  根据定义的序列化器,验证了指定的类型。例如,日期类型必须是时间类型

  字段选项

  例如:

  选项参数:

  max_length = 10最大长度不超过10min_lenght = 1最小长度不小于1allow_blank。

  语法格式:序列化器中的方法def validate_字段名称(self,value)

  注意:参数值表示字段值

  测试

  检查多个字段

  语法格式:def验证(self,attrs)

  注意:参数attrs实际上是数据字典

  测试:

  自定义验证方法

  测试

  在序列化器中调用保存方法时,我们需要手动创建一个create()和update()方法

  创建序列化对象时,您可以允许某些字段通过partial = true更新

  仅在创建序列化对象时创建它时,将在传递数据数据时创建新数据。

  在序列化器中定义创建方法

  注意:参数**验证的_data实际上是传递的数据字典数据

  测试

  当创建序列化对象时介绍实例实例对象和数据数据时,它已更新数据

  传递两个数据系统将自动调用更新方法,

  注意:实例是要更新的实例对象。验证的_data是更新的数据