Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.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 - Fatal编程技术网

如何在django中过滤月份和年份

如何在django中过滤月份和年份,django,Django,我有一个表格,可以按年度和月份筛选学生。如果我按年过滤,这段代码运行良好,但如果我按月过滤,它将不起作用。我怎样才能解决这个问题? 它不显示该月的可用数据 models.py views.py 模板 选择年份 2018 2017 2019 选择月份 一月 二月 前进 四月 也许 六月 七月 八月 九月 奥克特博尔 十一月 十二月 找学生 只需这样做 students = Student.objects.filter(Q(joined_date__year=q)|Q(joined_date__m

我有一个表格,可以按年度和月份筛选学生。如果我按年过滤,这段代码运行良好,但如果我按月过滤,它将不起作用。我怎样才能解决这个问题? 它不显示该月的可用数据

models.py

views.py

模板


选择年份
2018
2017
2019
选择月份
一月
二月
前进
四月
也许
六月
七月
八月
九月
奥克特博尔
十一月
十二月
找学生
只需这样做

students = Student.objects.filter(Q(joined_date__year=q)|Q(joined_date__month=q))

如果我必须使用和方法过滤器(加入日期年=年,加入日期月=月),该怎么办
def serachstudent(request):
    q = request.GET["q"]
    if q:
        students = Student.objects.filter(Q(joined_date__year__icontains=q)|Q(joined_date__month__icontains=q))
        return render(request, "students/view_students.html", {'students': students})
    else:
        return redirect('students:view_student')
<form action="{% url 'students:search_student' %}" class='form-inline'>
          <!--<label for="month"></label>-->
          <select name="q">
            <option disabled selected>Select Year</option>
            <option value="2018">2018</option>
             <option value="2017">2017</option>
            <option value="2019">2019</option>
          </select>
          <!--<label for="month"></label>-->
          <select name="q">
            <option disabled selected>Select month</option>
            <option value="01">January</option>
            <option value="02">February</option>
             <option value="03">March</option>
            <option value="04">April</option>
            <option value="05">May</option>
            <option value="06">June</option>
             <option value="07">July</option>
            <option value="08">August</option>
             <option value="09">September</option>
            <option value="10">Octbor</option>
             <option value="11">November</option>
            <option value="12">Decembery</option>

          </select>

     &nbsp; &nbsp;
                    <div>
                        <button type="submit" >Find Students</button>
                    </div>

      </form>
students = Student.objects.filter(Q(joined_date__year=q)|Q(joined_date__month=q))