Как получить .count в шаблоне django через поле ManyToManyField
У меня есть несколько моделей, которые связаны через manytomany или foreignkey.
Я хотел бы получить значение .count для tutor.students.lessons.type и отобразить количество уроков, проведенных онлайн или в классе.
Я пытался передать в tuttype= tutorObj.students.get(type="CLASS") через представления что не дает требуемого результата
и пробовал {{tutorobj.students.type.ONLINE.get}} {{tutorobj.students.get(type=ONLINE)}} в шаблонах безрезультатно также
models.py
views.py (рассматриваемое представление, которому нужен .count)
def tutor(request, pk):
tutorObj = Tutor.objects.get(id=pk)
tutor = Tutor.objects.all()
students = Student.objects.all()
context = {'students': students, "tutorobj": tutorObj, "tutor":tutor}
return render(request, 'tutor.html', context)
заранее благодарю вас за ваше время, потраченное на помощь мне.
Мне удалось найти правильное значение, соединив два фильтра вместе.
def home(request):
tutors = Tutor.objects.all()
tutor1online =
Lesson.objects.all().filter(headed_by__name="Tutor
1").filter(type__icontains="ONLINE")
tutor1class =
Lesson.objects.all().filter(headed_by__name="Tutor
1").filter(type__icontains="CLASS")
tutor2online =
Lesson.objects.all().filter(headed_by__name="Tutor
2").filter(type__icontains="ONLINE")
tutor2class =
Lesson.objects.all().filter(headed_by__name="Tutor
2").filter(type__icontains="CLASS")
context={'tutor2class':tutor2class, 'tutor2online': tutor2online,
'tutor1class':tutor1class, 'tutor1online': tutor1online,
'tutors':tutors}
return render(request, 'home.html', context)
я передаю его в шаблон с
{{tutor1online.count}}
Это не динамический способ отображения этой информации, и я, должно быть, упускаю что-то простое, но это пока сойдет.
Я бы предпочел находить значение, когда оно прикреплено к экземпляру тьютора, вот что я не могу понять. Думаю, я подумаю, как задать этот вопрос по-другому, так как я пока не уверен, что задаю правильный вопрос.