Django: Я хочу отобразить данные текущего месяца, но не нашел рабочего запроса для этого. Пожалуйста, помогите

Django: Я хочу отобразить данные текущего месяца, но не нашел рабочего запроса для этого. Пожалуйста, помогите. Ниже приведен код для models.py и views.py

Views.py

def paymentfullreportarchived(request):
    date=datetime.now().strftime("%Y-%m-%d")
    allpayments=Payment.objects.filter(Date=date,Status="Archived").order_by('-Date')   
    total= Payment.objects.filter(Date=date,Status="Archived").order_by('-Date').aggregate(Sum('Amount')).get('Amount__sum') or 0
    context={
        'payment':'active',
        'allpayments':allpayments,
        'date':date,
        'total':total,
    }
    return render(request,'paymentfullreportarchived.html',context)

Models.py

class Payment(models.Model):
    Date=models.DateField()
    User=models.CharField(max_length=50)
    PatientName=models.CharField(max_length=50)
    Dentist=models.CharField(max_length=50)
    Scheme=models.CharField(max_length=50)
    PaymentMethod=models.CharField(max_length=50)
    Amount=models.FloatField()
    Status=models.CharField(max_length=50,default="Pending")

Используйте один из фильтров даты

start_month=datetime.date( 2021, 10, 1)
end_month  =datetime.date( 2021, 10, 31)
...Payment.objects.filter( Date__range=[start_month, end_month] )

или

 year=2021
 month=10
 ...Payment.objects.filter( Date__year=year, Date__month=month )

Также я настоятельно рекомендую придерживаться соглашений. Поля модели должны быть в нижнем регистре date, а не в верхнем Date, как вы используете.

Вернуться на верх