我想在保存django-rest-framwork序列化程序对象之前对其进行编辑.我现在就是这么做的-

def upload(request):
    if request.method == 'POST':
        form = ImageForm(request.POST, request.FILES)
        if form.is_valid(): # All validation rules pass
             obj = form.save(commit=False)
             obj.user_id = 15
             obj.save()

我如何使用django-rest-framework串行化程序对象来做到这一点?

@api_view(['POST','GET'])
def upload_serializers(request):
    if request.method == 'POST':
         serializer = FilesSerializer(data=request.DATA, files=request.FILES)
         if serializer.is_valid():
              serializer.save()

推荐答案

可以在保存序列化程序之前编辑序列化程序的对象:

if serializer.is_valid():
    serializer.object.user_id = 15 # <----- this line
    serializer.save()

Django相关问答推荐

""关系"core_Boundary_summary的列user_id中的空值"违反了非空约束|失败行包含(2,title,string,null)

RDBMS多对多关系Django

我如何告诉Django如何恢复自定义迁移?

无法将关键字average_rating解析为字段

如何显示;Django认证系统;在模板中?

如何使更新记录在 Django 模型中传递信号?

当从 fastapi 发送请求时,Django 无法对 Postgres 执行查询

如何将 ManyToManyField 与另一个 ManyToManyField 进行比较

使用基于类的 UpdateView 在 Django 中更新用户模型

Django Blob 模型字段

django模板中的vscode html自动格式

django - 如何使翻译工作?

Django Admin:如何在同一视图中显示来自两个不同模型的字段?

django:manytomanyfield 和 through 如何出现在 admin 中?

Django 覆盖模型 Clean() 与 Save()

更改 Django ModelChoiceField 以显示用户的全名而不是用户名

响应发送到客户端后在 Django 中执行代码

RemovedInDjango18Warning:不推荐创建没有fields属性或 exclude属性的 ModelForm

如何过滤(或替换)在 UTF-8 中占用超过 3 个字节的 unicode 字符?

如何检测 Heroku 的环境?