当前位置: 首页 > 面试题库 >

Django Rest Framework-如何在ModelSerializer中添加自定义字段

郎俊雅
2023-03-14
问题内容

我创建了一个,ModelSerializer并希望添加一个不属于我的模型的自定义字段。

我在此处找到了添加其他字段的说明,并尝试了以下操作:

customField = CharField(source='my_field')

当我添加此字段并调用我的validate()函数时,则此字段不是attr字典的一部分。attr包含所有指定的模型字段,除了额外的字段。因此,我无法在覆盖的验证中访问此字段,可以吗?

当我将此字段添加到字段列表中时,如下所示:

class Meta:
    model = Account
    fields = ('myfield1', 'myfield2', 'customField')

然后我得到一个错误,因为customField它不是我的模型的一部分-正确的是因为我只想为此序列化器添加它。

有什么方法可以添加自定义字段?


问题答案:

您在做正确的事情,除了CharField(和其他类型的字段)用于可写字段。

在这种情况下,您只需要一个简单的只读字段,因此只需使用:

customField = Field(source='get_absolute_url')


 类似资料:
  • 我有一个简单的签名方法来签署工作正常的PDF文档,它使用显示名称、位置、日期和原因的默认戳记来签署文档。 现在我的经理问我是否可以在上面再添加一个字段。让我们假设这是一个“电子邮件”字段,因为我还没有被告知他们想要什么。 我试着搜索并应用我找到的一些东西,但没有任何效果。 此外,有人问我是否可以删除/隐藏这4个默认字段的标签(日期、原因等...),我无法管理这样做,也找不到任何关于它的东西,我不知

  • 问题内容: 我想在RoR应用程序中使用几种字体,但是它们的格式主要是.ttf和.otf等。我该如何将这些文件嵌入我的Rails应用程序?即,一旦将它们放入资产文件夹中,将它们嵌入到CSS和/或LESS文件中的语法到底是什么? 编辑:这是我现在拥有的代码: 它似乎对我不起作用。Rails控制台中的输出类似于以下内容: 使用Firebug检查页面时会说: 问题答案: 较大的示例,假设它们直接在资产目录

  • 是否有一个时间格式来指定这样的日期序列到轴在D3和v4?

  • 我想在向url发送请求时添加假用户代理。但它并没有添加假useragent,而是使用默认的useragent。

  • 我的工具基本上读取PDF并在JTextArea中打印PDF的内容。在我的PDF包含阿拉伯语的PH Mirjan字体之前,一切正常。我的文本区域显示一些垃圾字符,如下所示。 我该如何解决这个问题? 我的文本区域的默认字体是Arial Unicode MS。我可以配置文本区域的字体吗?假设我在本地下载了PH Mirjan,如何将文本区域字体更改为下载的字体。非常感谢任何建议或参考链接。 编辑 这给了我

  • 问题内容: 我当前的格式字符串是: 我想添加一个新字段,在包含该格式化程序的每个脚本中它将具有不同的值。 但是我不确定如何将该值传递给记录器以内插到格式字符串中。我显然可以通过每次传递它使其出现在日志消息中,但这很麻烦。 我试过了: 但没有任何作用。 问题答案: 您可以使用LoggerAdapter,这样就不必在每次记录调用时都传递额外的信息: 日志(类似) 过滤器还可用于添加上下文信息。 产生类