Django Rest框架API:ModelSerializ中的附加字段

2024-05-13 02:02:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我可以向ModelSerializer子类添加其他字段吗?你知道吗

我说的“附加字段”是指一些字段不属于数据库中的任何模型,任何试图将这些字段映射到现有模型字段的努力都将失败。我之所以需要包含这些字段是出于设计目的。我需要对这些字段的值进行验证并最终创建一个新实例。你知道吗

我知道ModelSerializer中有一个称为“context”的kwarg。通过将所有附加信息放入“上下文”中,它将起作用。但是,我想知道是否可以创建其他字段?你知道吗

我尝试过添加'write\u only=True',但不起作用。剩下的唯一选择是重写默认的restore\u object方法,以根据我的意愿创建实例。你知道吗

还有其他想法吗?你知道吗


Tags: 实例方法模型目的信息数据库trueonly
1条回答
网友
1楼 · 发布于 2024-05-13 02:02:13

由于您没有发布任何代码,我只能给您一个一般性的答案,但如果我理解正确,您希望将自定义字段添加到不属于您的模型的ModelSerializer中。。。你知道吗

在DSF中,您可以非常轻松地(read here):

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

custom_field = Field(source='get_whatever')

如果在此之后进行验证,请阅读DRF指南here

相关问题 更多 >