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