Я хочу создать систему фильтрации, в которой, если пользователь выбирает год и месяц, должны отображаться учащиеся, принадлежащие только к месяцу этого года, а если пользователь выбирает только год, то должны отображаться все учащиеся, принадлежащие этому году. Этот код работает, если я выбрал год и месяц, но не работает как условие ИЛИ. Как я могу решить эту проблему
views.py
def serachstudent(request):
year = request.GET['year']
month = request.GET['month']
if year or month:
students = Student.objects.filter(Q(joined_date__year=year) | Q(joined_date__month=month))
return render(request, "students/view_students.html", {'students': students})
elif year and month:
students = Student.objects.filter(Q(joined_date__year=year) & Q(joined_date__month=month))
return render(request, "students/view_students.html", {'students': students})
шаблон
<form action="{% url 'students:search_student' %}" class='form-inline'>
<!--<label for="month"></label>-->
<select name="year">
<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="month">
<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">October</option>
<option value="11">November</option>
<option value="12">Decembery</option>
</select>
<div>
<button type="submit" >Find Students</button>
</div>
</form>