我创建了一个,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')
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句