我正在尝试从过去3天到今天的django中过滤数据,我可以使用2个输入框轻松地进行过滤,但是我想使用单个输入框进行数据过滤,为此我正在使用jquery,请让我知道我该怎么做。因为使用2个输入框对我来说很容易,但是使用单个输入框时我无法过滤数据(我在此单个输入框中选择from
至to
日期范围)。 ..
这是我的filters.py
文件...
class MainFilter(django_filters.FilterSet):
order_date = django_filters.DateFilter(
label= "By Date Range",
method= 'order_filter',
widget=forms.DateInput(
attrs={
'id': 'daterange',
}
)
)
class Meta:
models = Order
fields = ['order_date','daterange', 'start_date', 'end_date']
def order_filter(self, queryset, name, value):
start = value.start
end = value.stop
return queryset.filter(start_date__gte=start, end_date__lte=end)
这是我的jquery
代码...
<script>
$(function() {
$('#daterange').daterangepicker({
opens: 'left'
}, function(start, end, label) {
console.log("A new date selection was made: " + start.format('YYYY-MM-DD') + ' to ' +
end.format('YYYY-MM-DD'));
});
});
</script>
这是我的viws.py
文件...
def myview(request):
datadis= MainFilter(request.GET, queryset=Order.objects.all())
context = {'datadis':datadis}
return render(request, 'mainpage.html', context)
这是我的mainpage.html
文件...
<form method="get">
<div class="row row-xs">
<div class="col-md-8">
<label for="picker1">Select Status</label>
{% render_field order.form.order_date class="form-control" %}
</div>
<div class="col-md-4 mt-3 mt-md-0">
<label for="picker1"></label>
<button class="btn btn-primary" style="margin-top:6px;">Submit</button>
</div>
</div>
</form>
我陷入了困境,请帮助我,如果您有任何建议,请告诉我,我将在没有django_flter的情况下使用。