Как отфильтровать по месяцам из шаблона

Я пытаюсь направить поле datetime по месяцу и году. Хотя никто толком не может сказать, почему при вводе и месяца, и года я получаю обратно свободный возвращаемый набор.

Модель

class SpareParts(models.Model):
vehicle = models.ForeignKey(Vehicle, on_delete=models.CASCADE)
amount = models.IntegerField(blank=False, null=False)
date = models.DateField(blank=False, null=False)

Я хочу фильтровать на основе транспортного средства и месяца и вот мое представление VIEWS.py

def view_spare(request):
sparepart = SpareParts.objects.all()
vehicle_filter = request.POST.get('vehicle')   # get the value of the date field
month_filter = request.POST.get('month')   # get the value of the date field
if vehicle_filter:
    if month_filter:
        sparepart = sparepart.filter(vehicle=vehicle_filter,date__month=month_filter).aggregate(Sum('amount'))
        return render(request,'invoice/spare_parts_list.html',{'sparepart':sparepart})

и я хочу вывести сумму за весь месяц в шаблон

date__month является целым числом, а согласно вашему объяснению "месяц" является полем даты. Поэтому вы не можете их сравнивать. Вы должны вычислить месяц и год вашей вводимой даты:

Сделайте следующее:

import datetime
month_filter = datetime.datetime.strptime(self.request.POST.get('month'),"%d/%m/%Y").date() #Change with the formar that you are using.

И:

sparepart = sparepart.filter(vehicle=vehicle_filter,date__month=month_filter.month, date__year=month_filter.year).aggregate(Sum('amount'))
Вернуться на верх