使用django过滤器按升序和降序排序
我有以下几个过滤器的代码:使用django过滤器按升序和降序排序,django,django-filter,Django,Django Filter,我有以下几个过滤器的代码: from .models import ProductLaptop import django_filters class ProductLaptopFilter(django_filters.FilterSet): laptops_name = django_filters.CharFilter(lookup_expr='icontains') laptops_price = django_filters.NumberFilter() la
from .models import ProductLaptop
import django_filters
class ProductLaptopFilter(django_filters.FilterSet):
laptops_name = django_filters.CharFilter(lookup_expr='icontains')
laptops_price = django_filters.NumberFilter()
laptops_price__gt = django_filters.NumberFilter(field_name='laptops_price', lookup_expr='gt')
laptops_price__lt = django_filters.NumberFilter(field_name='laptops_price', lookup_expr='lt')
class Meta:
model = ProductLaptop
fields = ['laptops_name', 'laptops_price', 'brand_name']
此文件的html代码:
{% load widget_tweaks %}
{% block content %}
<form method="get">
<div class="well">
<h4 style="margin-top: 0">Filter</h4>
<div class="row">
<div class="form-group col-sm-4 col-md-3">
{{ filter.form.laptops_name.label_tag }}
{% render_field filter.form.laptops_name class="form-control" %}
</div>
<div class="form-group col-sm-4 col-md-3">
{{ filter.form.laptops_price.label_tag }}
{% render_field filter.form.laptops_price class="form-control" %}
</div>
<div class="form-group col-sm-4 col-md-3">
{{ filter.form.brand_name.label_tag }}
{% render_field filter.form.brand_name class="form-control" %}
</div>
<div class="form-group col-sm-4 col-md-3">
{{ filter.form.laptops_price__gt.label_tag }}
{% render_field filter.form.laptops_price__gt class="form-control" %}
</div>
<div class="form-group col-sm-4 col-md-3">
{{ filter.form.laptops_price__lt.label_tag }}
{% render_field filter.form.laptops_price__lt class="form-control" %}
</div>
</div>
<button type="submit" class="btn btn-primary">
<span class="glyphicon glyphicon-search"></span> Search
</button>
</div>
</form>
{%load widget\u tweaks%}
{%block content%}
滤器
{{filter.form.laptops\u name.label\u tag}
{%render_field filter.form.laptops_name class=“form control”%}
{{filter.form.laptops\u price.label\u tag}
{%render_field filter.form.laptops_price class=“form control”%}
{{filter.form.brand_name.label_tag}
{%render_field filter.form.brand_name class=“form control”%}
{{filter.form.laptops\u price\u gt.label\u tag}
{%render\u field filter.form.laptops\u price\u gt class=“表单控制”%}
{{filter.form.laptops\u price\u lt.label\u tag}
{%render\u field filter.form.laptops\u price\uu lt class=“表单控制”%}
搜寻
这给了我一个如下的观点:
在这里,我想添加一个选项,人们可以按照升序和降序对项目进行排序。
谁能给我一些建议,我该如何实施 为此,您可以使用fromdjango过滤器
。在FilterSet
类中创建此筛选器,并提供应为订购启用的所有字段