drf在序列化器中创建一个request
在序列化器中创建一个request可以使用以下代码:
from rest_framework.request import Request
class MySerializer(serializers.Serializer):
def to_representation(self, instance):
request = self.context.get('request')
if not request:
request = Request(self.context['view'].request)
# 对request进行操作
return super().to_representation(instance)
这里使用了序列化器的to_representation方法,可以在返回序列化数据之前对数据进行操作。在这个方法中,可以通过self.context.get('request')获取到已有的request对象,如果不存在,则可以通过当前视图的request对象创建一个新的request对象。最后,对获取到的request对象进行操作即可
原文地址: https://www.cveoy.top/t/topic/cIuJ 著作权归作者所有。请勿转载和采集!