python - DRF 添加非模型字段只是为了更新或创建模型实例
问题描述
我目前对 DRF 有这个问题。
我收到了模型未使用的额外字段。但是这些值将定义模型中的字段。
{
"file_name": "test",
"file_type": "jpg",
"file": basex64 file,
"url_img": null
}
我得到了这个模型
class imageModel(models.Model):
id = models.AutoField(primary_key=True)
url_img = models.textField(null=False)
我只需要解析 file_name 和 file_type 以上传 img 以创建 url_img 并将其上传到云端。有没有办法通过 DRF 做到这一点?
解决方案
正如穆罕默德回答的那样,您为每个字段添加了一些 Serializers.MethodField() 。您还可以在 Meta 类中添加下一个方法
def to_internal_value(self, data):
internal_value = super(ImageSerializer, self).to_internal_value(data)
file_name = data.get("file_name")
file = data.get("file")
file_type= data.get("file_type")
internal_value.update({
"file_name": file_name,
"file": file,
"content_type": content_type
})
return internal_value
并在创建/更新方法上检索这些字段
推荐阅读
- ruby-on-rails - 如何在 ActiveAdmin form.has_many 中使用视图助手
- javascript - 检查接口是否有属性?
- java - 为什么 queryDsl 查询不返回与完全相同的 Oracle SQL 查询相同的结果?
- sapui5 - SAPUI5 没有为智能表中的自定义列使用正确的类型
- scala - 空手道加特林报告定制
- flutter - 如何找出在下拉颤动中选择了哪个元素的索引
- mysql - 在MYSQL中查询返回多个组?
- javascript - ActivityIndicator 在本机反应中不起作用
- mysql - Mysql查询查找最高发布用户
- code-coverage - PIT Coverage 生成 minion 异常退出