如何在django-fliter中创建重量范围

问题描述 投票:0回答:1

因此,其他所有过滤器都可以正常工作,但不能按重量进行过滤。要过滤范围内的重量。

filters.py

class ProductFilter(django_filters.FilterSet):
    category = django_filters.ModelChoiceFilter(queryset=Category.objects.all())
    sub_Category = django_filters.ModelChoiceFilter(queryset=subCategory.objects.all())
    city = django_filters.ModelChoiceFilter(queryset=City.objects.all())
    karat = django_filters.ModelMultipleChoiceFilter(queryset=Karat.objects.all(),
    widget=forms.CheckboxSelectMultiple)
    product_weight= django_filters.RangeFilter()
    class Meta:
       model = Product
       fields = ['category','sub_Category','city','product_weight']

models.py

class Product(models.Model):
    ....
    product_weight = models.DecimalField(max_digits=5, decimal_places=3)

views.py

def filter_search(request):
   products = Product.objects.all()
   f = ProductFilter(request.GET, queryset=products)
   return render(request, 'home/list.html',{'filter':f})
django django-filter
1个回答
0
投票

使用range

根据您的情况:

Product.objects.filter(product_weight__range=(min_weight, max_weight))
© www.soinside.com 2019 - 2024. All rights reserved.