Django Rest Framework:如何将额外的参数传递给Django序列化程序?

Sta*_*low 1 python django serialization django-rest-framework

我有一个email在视图中命名的变量。

我想在中访问此文件ManageSerializer

如何在序列化器中传递此参数并到达那里?

views.py

email = 'xyz@gmail.com' 
interviewData = Manage.objects.
    filter(catcher_id = userCheck['id'], acceptation = '1').
    filter(invitation_date__gte = dateToday)[:5];
serializer = ManageSerializers(interviewData, many = True)
Run Code Online (Sandbox Code Playgroud)

raj*_*ris 5

也许将其作为kwargs传递:

 ManageSerializers(interviewData, many = True, email= email)
Run Code Online (Sandbox Code Playgroud)

您可以使用以下方法在序列化程序的初始化中访问此文件:kwargs.pop('email')

要么

您可以像这样将上下文传递给Serializer。

 ManageSerializers(interviewData, many = True, context={'email': email})
Run Code Online (Sandbox Code Playgroud)

您可以像这样在Serializer中访问上下文 self.context['email']


vis*_*ell 5

您应该将其传递给context变量:

serializer = ManageSerializers(interviewData, many=True, context={'email': email})
Run Code Online (Sandbox Code Playgroud)

文档:包括额外的上下文