Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 如何使用相同的列表过滤器过滤多个日期字段_Django_Django Admin_Django Filters - Fatal编程技术网

Django 如何使用相同的列表过滤器过滤多个日期字段

Django 如何使用相同的列表过滤器过滤多个日期字段,django,django-admin,django-filters,Django,Django Admin,Django Filters,我正在尝试制作一个自定义列表过滤器来输入一个日期,然后应用程序使用这个日期按多个字段(而不仅仅是一个)进行过滤。 我试过lib,但这是在两个输入日期之间按一个字段进行过滤 我需要的是通过几个字段(date1、date2、date3…)进行筛选,其中只有一个输入日期: MyModel.objects.filter(date1__gte=InputFilterDate, date2__gte=InputFilterDate,...) 我看到的所有其他自定义过滤器都必须设置一个可能值的列表,但我没有

我正在尝试制作一个自定义列表过滤器来输入一个日期,然后应用程序使用这个日期按多个字段(而不仅仅是一个)进行过滤。 我试过lib,但这是在两个输入日期之间按一个字段进行过滤

我需要的是通过几个字段(date1、date2、date3…)进行筛选,其中只有一个输入日期:

MyModel.objects.filter(date1__gte=InputFilterDate, date2__gte=InputFilterDate,...)
我看到的所有其他自定义过滤器都必须设置一个可能值的列表,但我没有可能值,我需要一个日历或类似的东西来输入单个日期


你知道任何类似DateRangeFilter的库,或者一个神奇的Django API技巧吗?

你可以覆盖模板文件夹
admin/中的更改列表,以添加具有正确块名的css文件,并且不要忘了调用
{{block.super}
来包含管理员的更改列表代码,否则你将覆盖它

{% extends "admin/change_list.html" %}
{% block filters %}
    {{ block.super }}
    <form action="" method="get" id='date_filter_form'>
        <input type="text" class="datepicker" id="date_picker">
    </form>
{% endblock %}

{% block extrahead %}
    {{ block.super }}
    <script type="text/javascript">
        (function($) {
            var fields = ['date1__gte', 'date2__gte'];
            $(document).ready(function($) {
                $("#date_filter_form").submit(function(){
                    for (var i = 0; i < fields.length; i++) {
                        $('#date_picker').clone().attr(
                            'name', fields[i]).appendTo($(this));
                    };
                    return true;
                });
            });
        })(django.jQuery);
    </script>
{% endif %}{% endif %}
{% endblock %}