Django
Django फिल्टर
खोज…
CBV के साथ django- फ़िल्टर का उपयोग करें
django-filter
उपयोगकर्ता चयनों के आधार पर Django QuerySets को फ़िल्टर करने के लिए सामान्य प्रणाली है। प्रलेखन उत्पाद-मॉडल के रूप में फ़ंक्शन-आधारित दृश्य में इसका उपयोग करता है:
from django.db import models
class Product(models.Model):
name = models.CharField(max_length=255)
price = models.DecimalField()
description = models.TextField()
release_date = models.DateField()
manufacturer = models.ForeignKey(Manufacturer)
फ़िल्टर निम्नानुसार होगा:
import django_filters
class ProductFilter(django_filters.FilterSet):
name = django_filters.CharFilter(lookup_expr='iexact')
class Meta:
model = Product
fields = ['price', 'release_date']
querset
में इसका उपयोग करने के लिए, ListView के querset
get_queryset()
को ओवरराइड करें, फिर फ़िल्टर किए गए querset
वापस करें:
from django.views.generic import ListView
from .filters import ProductFilter
class ArticleListView(ListView):
model = Product
def get_queryset(self):
qs = self.model.objects.all()
product_filtered_list = ProductFilter(self.request.GET, queryset=qs)
return product_filtered_list.qs
आपके विचारों को फ़िल्टर किए गए ऑब्जेक्ट्स, जैसे कि पृष्ठ पर अंक लगाना, f.qs
में f.qs
। यह फ़िल्टर्ड ऑब्जेक्ट सूची को पगति करेगा।
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow