أدوات الاستعلام عن إطار عمل جانغو
تسهل هذه الحزمة عمليات التصفية عبر معلمات الاستعلام، مما يبسط عملية التصفية لطرق عرض Django Rest Framework. تثبيت
التثبيت عبر النقطة:
pip install django-rest-framework-query-tools
مثال سريع للاستخدام
لنفترض أن لديك نموذج كتب يحتوي على حقول مثل المؤلف والعنوان وما إلى ذلك. لتصفية الكتب حسب المؤلف باستخدام معلمات الاستعلام:
في view.py، حدد الحقل (الحقول) المراد تصفيتها باستخدام filter_fields:
from rest_framework . views import APIView
from rest_framework import generics
from rest_framework import filters
from django_rest_framework_query_tools . filters . url_fliter import URLFilter
class BooksListView ( generics . ListAPIView ):
queryset = Books . objects . all ()
serializer_class = BookSerializer
filter_backends = [ URLFilter ]
filter_fields = ( 'author' ,)
الآن، يمكنك إجراء التصفية عن طريق تمرير معلمات الاستعلام:
/v1/books?author=name
طريقة التكامل 1: التكامل في view.py
قم باستيراد QueryParamsFilter واستخدمه كواجهة خلفية للمرشح:
from drf_query_tools . filters import QueryParamsFilter
class BooksListView ( generics . ListAPIView ):
# ...
filter_backends = [ QueryParamsFilter ]
filter_fields = ( 'author' ,)
# ...
الطريقة الثانية: التكامل العالمي عبر settings.py
أضف QueryParamsFilter إلى إعدادات Django Rest Framework:
REST_FRAMEWORK = {
'DEFAULT_FILTER_BACKENDS' : [
' django_rest_framework_query_tools .filters.url_fliter.URLFilter'
]
}
المساهمة
لا تتردد في المساهمة عن طريق فتح القضايا أو تقديم طلبات السحب! رخصة
هذا المشروع مرخص بموجب ترخيص MIT - راجع ملف الترخيص للحصول على التفاصيل