重写 ModelViewSet 的 update() 和 create() 方法
update()重写
def update(self, request, *args, **kwargs):
instance = self.get_object()
serializer = self.get_serializer(instance, data=request.data)
serializer.is_valid(raise_exception=True)
instance.user_info.dept = instance.dept
instance.user_info.save()
serializer.save()
return Response(serializer.data)
create() 重写
def create(self, request, *args, **kwargs):
serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)
password = request.data['password'] if 'password' in request.data else None
password = make_password(password)
serializer.save(password=password)
return Response(serializer.data)