当前位置: 首页 > news >正文

搭建网站的流程网站推广平台搭建

搭建网站的流程,网站推广平台搭建,二次网站开发平台, 163com免费邮箱登文章目录 1 检查ModelSerializer2 指定要包含的字段3 指定嵌套序列化4 显式指定字段5 指定只读字段6 其他关键字参数7 关系字段8 自定义字段映射.serializer_field_mapping.serializer_related_fieldserializer_url_field.serializer_choice_field 通常#xff0c;您会想要与D… 文章目录 1 检查ModelSerializer2 指定要包含的字段3 指定嵌套序列化4 显式指定字段5 指定只读字段6 其他关键字参数7 关系字段8 自定义字段映射.serializer_field_mapping.serializer_related_fieldserializer_url_field.serializer_choice_field 通常您会想要与Django Model 定义紧密映射的 Serializer 类。 ModelSerializer 类提供了一个快捷方式使用该快捷方式可以自动创建具有与Model字段对应的字段的 Serializer 类别。 ModelSerializer 类与常规 Serializer 类相同不同之处在于 它将根据模型自动为您生成一组字段。 它将自动为序列化程序生成验证器例如 unique_together 验证器。 它包括.create和.update的简单默认实现。 声明ModelSerializer如下所示 class AccountSerializer(serializers.ModelSerializer):class Meta:model Accountfields [id, account_name, users, created]默认情况下类上的所有模型字段都将映射到相应的序列化程序字段。 模型上的任何关系如外键都将映射到 PrimaryKeyRelatedField。默认情况下不包括反向关系除非按照序列化程序关系文档中的指定显式包括反向关系。 1 检查ModelSerializer 序列化程序类生成有用的详细表示字符串使您能够完全检查其字段的状态。当使用 ModelSerializers 时这一点尤其有用因为在ModelSerializers中您需要确定自动为您创建的字段和验证器集。 要做到这一点请使用 python manage.py shell 打开 Django shell然后导入序列化程序类实例化它并打印对象表示… from myapp.serializers import AccountSerializerserializer AccountSerializer()print(repr(serializer)) AccountSerializer():id IntegerField(labelID, read_onlyTrue)name CharField(allow_blankTrue, max_length100, requiredFalse)owner PrimaryKeyRelatedField(querysetUser.objects.all())2 指定要包含的字段 如果只希望在模型序列化程序中使用默认字段的子集可以使用 fields 或 exclude 选项就像使用 ModelForm 一样。强烈建议您使用 fields 属性显式设置应序列化的所有字段。这将在模型更改时无意中暴露数据的可能性降到最低。 例如 class AccountSerializer(serializers.ModelSerializer):class Meta:model Accountfields [id, account_name, users, created]您还可以将 fields 属性设置为特殊值 __all__以指示应使用模型中的所有字段。 例如 class AccountSerializer(serializers.ModelSerializer):class Meta:model Accountfields __all__可以用 exclude 属性指定要从序列化程序中排除的字段列表。 例如 class AccountSerializer(serializers.ModelSerializer):class Meta:model Accountexclude [users]3 指定嵌套序列化 默认的ModelSerializer将主键用于关系但也可以使用深度选项轻松生成嵌套表示 class AccountSerializer(serializers.ModelSerializer):class Meta:model Accountfields [id, account_name, users, created]depth 1depth选项应设置为一个整数值该整数值指示在恢复为平面表示之前应遍历的关系的深度。 如果您想自定义序列化的完成方式您需要自己定义字段。 4 显式指定字段 您可以向 ModelSerializer 添加额外的字段或者通过在类上声明字段来覆盖默认字段就像对 Serializer 类一样。 class AccountSerializer(serializers.ModelSerializer):url serializers.CharField(sourceget_absolute_url, read_onlyTrue)groups serializers.PrimaryKeyRelatedField(manyTrue)class Meta:model Accountfields [url, groups]额外字段可以对应于模型上的任何属性或可调用字段。 5 指定只读字段 您可能希望将多个字段指定为只读字段。您可以使用快捷方式Meta选项 read_only_fields而不是使用 read_onlyTrue 属性显式添加每个字段。 此选项应该是字段名称的列表或元组声明如下 class AccountSerializer(serializers.ModelSerializer):class Meta:model Accountfields [id, account_name, users, created]read_only_fields [account_name]默认情况下editableFalse 设置的模型字段和 AutoField 字段将设置为只读不需要添加到 read_only_fields 选项中。 6 其他关键字参数 还有一个快捷方式允许您使用 extra_kwargs 选项在字段上指定任意附加的关键字参数。与read_only_fields的情况一样这意味着您不需要在序列化程序上显式声明字段。 此选项是一个字典将字段名映射到关键字参数的字典。例如 class CreateUserSerializer(serializers.ModelSerializer):class Meta:model Userfields [email, username, password]extra_kwargs {password: {write_only: True}}def create(self, validated_data):user User(emailvalidated_data[email],usernamevalidated_data[username])user.set_password(validated_data[password])user.save()return user请记住如果字段已经在序列化程序类上显式声明那么 extra_kwargs 选项将被忽略。 7 关系字段 在序列化模型实例时可以选择多种不同的方式来表示关系。ModelSerializer 的默认表示形式是使用相关实例的主键。 替代表示法包括使用超链接序列化、序列化完整嵌套表示法或使用自定义表示法序列化。 有关完整的详细信息请参阅序列化程序关系文档。 8 自定义字段映射 ModelSerializer类还公开了一个API您可以重写该API以便在实例化序列化程序时更改自动确定序列化程序字段的方式。 通常如果ModelSerializer默认情况下不生成所需的字段则应将它们显式添加到类中或者仅使用常规Serializer类。但是在某些情况下您可能希望创建一个新的基类该基类定义如何为任何给定的模型创建序列化程序字段。 .serializer_field_mapping Django模型字段到REST框架序列化程序字段的映射。您可以覆盖此映射以更改应用于每个模型字段的默认序列化程序字段。 .serializer_related_field 此属性应该是序列化程序字段类默认情况下用于关系字段。 对于 ModelSerializer这默认为serializers.PrimaryKeyRelatedField。 对于 HyperlinkedModelSerializer这默认为 serializers.HyperlinkedRelatedField。 serializer_url_field 应用于序列化程序上任何 url 字段的序列化程序字段类。 默认为 serializers.HyperlinkedIdentityField .serializer_choice_field 应用于序列化程序上的任何 choice 字段的序列化. 默认为 serializers.ChoiceField
http://www.pierceye.com/news/569160/

相关文章:

  • 建网站哪家好案例网页设计感悟与体会
  • 做网站要实名吗深圳货拉拉
  • 综合门户网站是什么意思建设机械网站
  • 主题资源网站建设作业高级网站开发工程师考试题
  • 含山建设局网站免费的个人简历模板文档
  • 门户网站建设推荐高校英文网站建设 文献综述
  • 织梦网站备案免费咨询网站
  • wordpress站内搜索插件网站管理程序
  • 网站建设友链交换自己电脑做网站iis
  • 全球优秀企业网站做原型的素材网站
  • 单页面营销网站怎么用polylang做网站
  • 网站开发入那个科目中国网站建设哪家公司好
  • 网站流量提升方案软件公司名称大全查询
  • 怎么做淘客专属网站济南公司网站推广优化最大的
  • 苏州网站建设极简幕枫织梦模板网站源码
  • 青岛网站设计定制2023传奇手游排行榜
  • 商务酒店网站建设淮南网备案查询
  • 菏泽炫佑网站建设中国城乡建设部网站
  • 网站开发与移动互联自助建站的优点与缺点
  • 公司做网站的好处上海网站设计找哪家
  • 个人如果做网站赚钱吗WordPress 聊天小工具
  • 商城网站建设哪家便宜网络架构师和网络工程师区别
  • p2p网站建设 深圳广东手机网站建设品牌
  • 亚马逊网上商城是正品吗长沙seo计费管理
  • 东莞品牌网站建设多少钱网站设计有限公司怎么样
  • dedecms新网站 上传到万网的空间浦口区网站建站公司
  • 龙岗在线网站建设西安房产信息网
  • 如何建立公司企业网站大朗做网站的
  • 怎么做整蛊网站wordpress系统的特点
  • php网站开发视频教程浙江建设局网站