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

时间:2017-12-06 06:57:07

标签: 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)

2 个答案:

答案 0 :(得分:4)

也许把它作为kwargs传递:

 ManageSerializers(interviewData, many = True, email= email)

您可以使用以下内容在序列化程序的init中访问它:kwargs.pop('email')

OR

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

 ManageSerializers(interviewData, many = True, context={'email': email})

您可以访问序列化工具中的上下文,例如self.context['email']

答案 1 :(得分:4)

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

serializer = ManageSerializers(interviewData, many=True, context={'email': email})

文档:Including extra context