Python Django REST框架在调用serializer.isValid()之前指定一些字段
我需要设置一些字段(这些字段在请求中不是JSON,我如何使用Django REST框架来设置)Python Django REST框架在调用serializer.isValid()之前指定一些字段,python,django,django-rest-framework,Python,Django,Django Rest Framework,我需要设置一些字段(这些字段在请求中不是JSON,我如何使用Django REST框架来设置) serializer = GoalSerializer(data=request.DATA) serializer.status = 'I' ##IS THIS RIGHT???????????????? serializer.journal = id if serializer.is_valid(): serializer.save()
serializer = GoalSerializer(data=request.DATA)
serializer.status = 'I' ##IS THIS RIGHT????????????????
serializer.journal = id
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
我这样做是因为状态和日志(是外键字段)是必需的。但总是得到400响应。这是设置这些字段的正确方法吗?您想访问:
serializer.object
这是调用时要保存到数据库的对象:
serializer.save()
因此,如果在将模型对象保存到数据库之前在其上设置额外字段,则需要执行以下操作:
serializer.object.status = "I"
serializer.object.journal = id