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

1285

被折叠的 条评论
为什么被折叠?



