كيف يمكنني الوصول إلى قيم QueryString في Serializer Django Rest Framework
-
21-12-2019 - |
سؤال
أحاول الوصول إلى قيم سلسلة الاستعلام في فئة التسلسل.
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()
هل هذه هي الطريقة الصحيحة للوصول إلى سلسلة الاستعلام؟
المحلول
عند استخدام Viewsets، يمكنك الوصول إلى الطلب في سياق التسلسل (مثلك الوصول إلى العرض).يمكنك الوصول إلى بارامات الاستعلام من هذا
giveacodicetagpre.عرض السمة. يحتوي Kwargs على الحجج المسماة تحليلها من عنوان URL الخاص بك، لذلك من الجزء المسار.
لا تنتمي إلى StackOverflow