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
, как вы используете.