Как запросить данные с параметром datetime month?

У меня есть функция фильтрации для запроса данных на основе месяца. Я использую календарь. Вот мой код :

def ListAll(request):
    list_month = list(calendar.month_name)[1:]
    list_year = Year.objects.all()
    objects = Rental.objects.filter(is_terminate = True).order_by('-created')
    year_query = request.GET.get("year")  
    month_query = request.GET.get("month")  
    if  month_query :
        month_number = list(calendar.month_name).index(month_query)
        month_number = int(month_number)
        objects = Rental.objects.filter(is_terminate=True, created__month=month_number, created__year=year_query).order_by('-created')
    context = {
        'objects':objects, 'list_month': list_month, 'list_year': list_year
    }
    return render(request, 'report_rental/all.html', context)

В моей модели поле created: models.DateTimeField(auto_now_add=True)

Моя проблема в том, что я получил пустые данные с помощью запроса, использующего месяц с этим objects = Rental.objects.filter(is_terminate=True, created__month=month_number, created__year=year_query).order_by('-created')

Может ли кто-нибудь помочь мне?

Спасибо

Попробуйте использовать array.tolist() для преобразования массива calendar.month_name в список вместо использования функции list(). Я не думаю, что функция list() преобразует массив в список, как вы ожидаете. Попробуйте print(calendar.month_name) проверить это.

def ListAll(request):
    list_month = list(calendar.month_name)[1:]
    list_year = Year.objects.all()
    objects = Rental.objects.filter(is_terminate = True).order_by('-created')
    year_query = request.GET.get("year")  
    month_query = request.GET.get("month")  
    if  month_query:
        month_number = calendar.month_name.tolist().index(month_query)
        #month_number = list(calendar.month_name).index(month_query)
        month_number = int(month_number)
        objects = Rental.objects.filter(is_terminate=True, created__month=month_number, created__year=year_query).order_by('-created')
    context = {
        'objects':objects, 'list_month': list_month, 'list_year': list_year
    }
    return render(request, 'report_rental/all.html', context)
Вернуться на верх