gpt4 book ai didi

django - 我如何访问 Serializer Django Rest Framework 中的 QueryString 值

转载 作者:行者123 更新时间:2023-12-03 10:56:44 26 4
gpt4 key购买 nike

我正在尝试访问序列化程序类中的查询字符串值。

class OneZeroSerializer(rest_serializer.ModelSerializer):

location = rest_serializer.SerializerMethodField('get_alternate_name')

def get_alternate_name(self, obj):
view = self.context['view']
print view.kwargs['q'] #output is {}
return 'foo'


class Meta:
model = OneZero

fields = ('id', 'location')

浏览次数
class OneZeroViewSet(viewsets.ModelViewSet):

serializer_class = OneZeroSerializer

queryset = OneZero.objects.all()

这是访问查询字符串的正确方法吗?

最佳答案

使用 ViewSet 时,您可以在序列化程序上下文中访问请求(就像访问 View 一样)。您可以从此访问查询参数

def get_alternate_name(self, obj):
request = self.context['request']
print request.query_params['q']
return 'foo'

属性 view.kwargs 包含从您的 url-config 解析的命名参数,因此来自路径部分。

关于django - 我如何访问 Serializer Django Rest Framework 中的 QueryString 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23006735/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com