django_rest_framework视图传递参数给序列化器
django_rest_framework视图传递参数给序列化器
视图中默认可以将request.data传递给序列化器,但request.data是不可更改的对象,但又想将额外的参数传递给序列化器
-
copy request.data:将request.data copy一份,在对copy的对象操作,传递给序列化器
-
initial_data:initial_data是可以被修改的,在初始化序列器的时候,将拿到的序列化对象的initial_data传入参数,在序列化器的成员方法中可以通过self.initial_data获取到视图中传递的参数
-
context:以上两种方法都会对原有的对象造成干扰,实际上可以在初始化序列器的时候,将对象传递的对象传入序列化对象的context中,在成员方法里可以使用self.context方法来获取视图中传递的参数