在 django-rest-framework 中使用 .to_representation() 和 .to_internal_value?

2024-02-29

What do .to_representation() and .to_internal_value do in serializers?
如果我将数据传递给序列化器,数据会被抛出吗to_representation() first?
这两个有什么用呢?


如果要创建自定义字段,则需要子类化 Field 然后覆盖其中一个或两个.to_representation() and .to_internal_value()方法。这两个方法用于转换 介于初始数据类型和原始可序列化数据类型之间。 原始数据类型通常是数字、字符串、 布尔值、日期/时间/日期时间或无。它们也可以是任何列表或 类似于字典的对象,仅包含其他原始对象。 可能支持其他类型,具体取决于您使用的渲染器 使用。

The .to_representation()调用方法来转换初始值 数据类型转换为原始的、可序列化的数据类型。

The to_internal_value()调用方法来恢复原语 数据类型转换为它的内部 python 表示形式。这个方法应该 如果数据无效,则引发 serializers.ValidationError 。

请注意,WritableField版本 2.x 中存在的类 否 不再存在。您应该子类化 Field 并覆盖to_internal_value()如果该字段支持数据输入。

Ref:

  1. http://www.django-rest-framework.org/api-guide/fields/#custom-fields http://www.django-rest-framework.org/api-guide/fields/#custom-fields
  2. https://github.com/tomchristie/django-rest-framework/blob/master/rest_framework/serializers.py#L417 https://github.com/tomchristie/django-rest-framework/blob/master/rest_framework/serializers.py#L417
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 django-rest-framework 中使用 .to_representation() 和 .to_internal_value? 的相关文章

  • Django:无法为用于检索数据的模型实例化抽象模型

    我正在开发一个项目 该项目有一个 Djongo 抽象模型和一个主模型 当我尝试插入一个值时 它被插入而没有错误 但是当我尝试检索数据时 我得到 抽象模型无法实例化 这是我的模型 class Exam questions models Mod
  • iFrame 在 Facebook Canvas 应用程序中显示为空白

    我有一个非常简单的页面 我试图在 Facebook iframe 中查看它 它是一个 Django 视图 但它不依赖于请求是通过 POST 还是 GET 提交 它所做的只是返回一些简单的 HTML 如果我们直接点击链接 它会正确显示 如果在
  • Django 1.9:字段与父模型中不存在字段的字段冲突

    我有一些简单的模型 Profile Certifier 和 Designer 后者继承自 Profile 多表继承 在 Designer 中 有一个指向 Certifier 的外键 class Profile models Model TY
  • 在 Heroku 上安装 GeoDjango

    我正在尝试构建一个使用 GeoDjango 的网络应用程序 该应用程序将托管在 Heroku 上 但我在其中遇到了问题 我在用this https github com dulaccc heroku buildpack geodjango构
  • Django 本身支持迁移吗

    我听说所有新的 Web 框架 如 ROR Django 等 都遵循敏捷和 TDD 的一般原则 遵循敏捷和 TDD 的一部分是在从一个迭代到另一个迭代时制定自己的设计 这意味着模型及其架构将随着应用程序的不同版本而演变 我知道 ROR 本身支
  • 无法使用数据库路由器通过 save_model 进行保存

    我正在使用数据库路由器 因此我的应用程序有两个数据库 一个数据库用于默认 django 数据 另一个数据库用于存储默认 django 数据 在我的管理员中我已经覆盖了save model函数以保存created by变量 但我无法做到这一点
  • Django-celery/RabbitMQ 在哪里存储任务结果?

    我的 celery 数据库后端设置是 CELERY RESULT BACKEND database CELERY RESULT DBURI mysqlite db 我使用 RabbitMQ 作为我的消息发送器 似乎没有任何结果存储在数据库中
  • Django 模型表中是否可以对另一个表中的记录执行算术运算?

    如何填写一行或添加第二个表格 我需要对第一个表的最后一行执行计算并将结果发送到第二个表 这让人想起在两个 DataFrame 中处理数据 对另一个表模型最后一行的数据执行计算后 如何将值表添加到模型中 或者这只有在 DataFrame 功能
  • 在 python3.6 上 pip 安装 Django

    如果我跑pip install Django I get 已满足的要求 Django in usr local lib python2 7 dist packages 我想改用 python3 6 它已经安装在 usr bin python
  • Django 模型同步表

    如果我更改 Django 模型中的字段 如何将其与数据库表同步 我是否需要在数据库上手动执行此操作 或者是否有工具可以帮助完成此过程 唉 Django 不支持任何简单的解决方案 django 唯一能为你做的就是使用与新模型匹配的新表重新启动
  • Django - 是否可以迭代方法?

    我正在 Django 中开发一个 Web 应用程序 它可以处理产品 价格和统计数据等 EDIT 更直接的解释 如何 分组 或 标记 一些实例方法 以便我可以像这样迭代它们for method in instance name of the
  • 模块“django.db.backends.utils”没有属性“typecast_decimal”

    当我跑步时 python manage py inspectdb database sybase database 它以错误消息结束 Database register converter Database DT DECIMAL util
  • 避免 Django 中表单输入元素 ID 重复

    当一页上的两个表单具有相同名称的字段时 Django 将生成无效的 HTML
  • 如何修复错误“错误:命令错误,退出状态 1:python。”尝试使用 pip 安装 django-heroku 时[重复]

    这个问题在这里已经有答案了 我正在尝试使用 pip 安装 django heroku 但它一直遇到错误 我看到一些建议告诉我要确保 Heroku 中的 Python 版本是最新的 我已经这么做了 推送到 Heroku master 后 我运
  • Django CBV表单提交返回的JSON显示为新页面

    我正在使用 Django 3 2 我正在创建一个简单的时事通讯订阅表格 表单提交将 JSON 返回到前端 然后应该使用前端来更新页面的部分内容 但是 当我发布表单时 JSON 字符串将在新页面上显示为文本 这是调用视图的路由 urlpatt
  • Django Celery 和多个数据库(Celery、Django 和 RabbitMQ)

    是否可以设置与 Django Celery 一起使用的不同数据库 我有一个配置了多个数据库的项目 并且不希望 Django Celery 使用默认数据库 如果我仍然可以使用 django celery 管理页面并读取存储在这个不同数据库中的
  • Django:Whitenoise 在调试错误的情况下无法在生产中工作

    我有一个带有静态文件白噪声的 Django 应用程序 但是 当我使用 Google Lighthouse 测试该应用程序时 系统要求我为静态 js 和 css 文件启用文本压缩 我读了很多相关帖子但找不到答案 我也按照 Heroku 的指南
  • 如何在django模板中显示img文件?

    我知道标题有点误导 但我解释了一切 我正在 django 中创建商店 有一个小问题我不知道如何解决 好吧 对于每个产品 我想分配几张保存在数据库中的照片 这就是为什么我创建了Photo模型 它连接到Book模型与一个ForeignKey 整
  • 如何按类的特定属性排序?

    我有一个具有跟踪价格属性的模型 现在 我有该型号的列表 无论如何 是否可以重新排列列表以按该特定属性进行排序 python 是否足够聪明 知道该属性是一个可以排序的值 我没有使用数据库跟踪特定模型的实例 我正在做的事情不需要它 所以我不能只
  • ImproperlyConfigured at / 不允许空静态前缀 - Django

    我正在使用 Django 上传 显示图像 该网站部署在 Heroku 上 下列的this https coderwall com p bz0sng教程我能够成功上传图像 但是 图像并未显示在模板中 然后我了解到我的 urls py 末尾应该

随机推荐