使用django在接口中给序列化器传递参数

本文介绍了在Django REST框架中,如何在序列化器中处理GET和POST方法的参数传递。对于GET方法,推荐使用self.context.get(key)来获取参数,而POST方法中两种写法(self.context[key]和self.context.get(key))都是可行的。强调在GET方法中不支持直接用self.context[key],建议统一使用get方法以确保兼容性。

在接口中要向序列化器中传递参数时,要区分开是get方法,还是post方法。
1、get方法传参:
视图中:

serializer = self.get_serializer(queryset, many=True, context={"key": value})		# key是传个序列化器的参数键,value是值。

序列化器中:

value = self.context.get("key")

2、post方法传参:
视图中:

serializer = self.get_serializer(queryset, many=True, context={"key": value})		# key是传个序列化器的参数键,value是值。

序列化器中:

写法一:
value = self.context["key"]
写法二:
value = self.context.get("key")
"""注意:在get方法传参时,不支持第一种写法,所以建议大家使用第二种,这样不管是post或者get方法都支持"""
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值