У меня есть список процедур, в которых указана дата, когда они должны быть проверены.Я пытаюсь сосчитать процедуру, которая должна быть в текущем году, и отобразить это число на моей веб-странице.(Например, если у меня есть x количество процедур в моей базе данных, которые должны быть выполнены в этом году. Я хотел бы, чтобы они были подсчитаны и чтобы общее число было сохранено в переменной, которую я могу передать на свою веб-страницу и отобразить «Процедуры, необходимые дляв этом году будет рассмотрено: x ")
Не уверен, как правильно извлечь год из DateTimeField и сравнить с текущим годом из datetime.now (). year.
Спасибо.
Я пытался использовать .count, но я получаю различные ошибки в зависимости от используемой переменной.См. Мой код для более подробного объяснения сообщений об ошибках и того, что я пробовал.
views.py
# gets current year and stores it in currentYear.
currentYear = datetime.now().year
# opmToReview = posts.objects.filter(reviewYear = 'currentYear').count()
# gives error - Cannot resolve keyword 'reviewYear' into field.
# opmToReview = posts.objects.filter(reviewDue = 'currentYear').count()
# gives error - 'currentYear' value has invalid format.
#Tried this too but, doesn't work
# testing for comparing dates
def opmToReview(request):
count = 0
for post in posts
if currentYear == reviewYear
count = count + 1
return render(request, 'opmStatistics.html', {'currentYearReview' : currentYearReview})
models.py
class posts(models.Model):
OPMnumber = models.CharField(max_length = 30)
title = models.TextField()
contacts = models.CharField(max_length = 50)
dateLastReviewed = models.DateTimeField()
reviewDue = models.DateTimeField()
status = models.CharField(max_length = 20)
assignedTo = models.CharField(max_length = 30)
comments = models.TextField()
#used to extract the year from reviewDue date
def reviewYear(self):
return self.reviewDue.strftime('%Y')
'''
Expected results is the total number of procedure needed to be review for current year.