Django管理过滤器,在模板中添加两个字段
我想创建一个过滤器来获取一些值范围。在那里,我想在Django管理过滤器,在模板中添加两个字段,django,django-admin,Django,Django Admin,我想创建一个过滤器来获取一些值范围。在那里,我想在参数\u name中获得2个数字,我为其添加了2个数字字段。像贝娄的形象 若我只使用一个字段,那个么可以得到该字段的值。asvalue=self.value() 但我需要这两个值,所以添加了另一个字段,然后可以得到它们的非值self.value()始终为非。 现在我不知道如何将该值传递给过滤器。谁能告诉我正确的路径。这可能不是确切的答案。但使用此功能,您可能能够满足要求。 ※如果有多个输入字段,Django过滤器将无法正常工作。因此,每个过
参数\u name
中获得2个数字,我为其添加了2个数字字段。像贝娄的形象
若我只使用一个字段,那个么可以得到该字段的值。asvalue=self.value()
但我需要这两个值,所以添加了另一个字段,然后可以得到它们的非值self.value()
始终为非。
现在我不知道如何将该值传递给过滤器。谁能告诉我正确的路径。这可能不是确切的答案。但使用此功能,您可能能够满足要求。
※如果有多个输入字段,Django过滤器将无法正常工作。因此,每个过滤器必须使用一个输入字段。
(使用Jquery滑块选择范围,而不是使用两个输入字段) Python类
class IsWithinRangeFilter(admin.SimpleListFilter):
title = 'Title'
parameter_name = 'scoreRange'
template = '[path]/input_filter.html'
def lookups(self, request, model_admin):
return (
('Yes', 'Yes'),
)
def queryset(self, request, queryset):
value = self.value()
try:
if value:
#do whatever
except Exception as e:
logger.info('#####ERROR{}' .format(e))
return queryset
调用过滤器类
list_filter = (IsWithinRangeFilter,)
input_filter.html
{%loadi18n%}
var lowerRange=5;
var上限=8;
$(函数(){
$(“#滑块范围”)。滑块({
范围:对,
分:0,,
最高:10,
值:[下限,上限],
幻灯片:功能(事件、用户界面){
if(ui.values[0]==ui.values[1])
{
返回false;
}
$(“#scoreRange”).val(ui.values[0]/10+“-”+ui.values[1]/10);
}
});
$(“#分数范围”).val($(“#滑块范围”).slider(“值”,0)/10+
“-”+$(“#滑块范围”)。滑块(“值”,1)/10);
} );
{%block content%}
{%Any Title%}
-
任何描述
过滤器:
{%endblock%}
这是个好问题,但恐怕这不是一项容易的任务。这是因为过滤器并没有按照Django所希望的方式“固定”。因此,由于筛选值是由用户定义的(即使您有一个输入字段),因此您必须使用jQuery
来发送此GET
请求并适当地处理它。
list_filter = (IsWithinRangeFilter,)