django uzyskując dostęp do wielu wielu utworzonych pól tabeli
Model:
class Subjects (models.Model):
name = models.CharField(max_length=100)
places = models.CharField(max_length=100)
class Student (models.Model):
name = models.CharField(max_length=40)
lastname = models.CharField(max_length=80)
subjects = models.ManyToManyField(Subjects, blank=True)
Django tworzy obiekty appname_student_subjects, gdy używam powyższego modelu.
Tabela appname_student_subjects wygląda na przykład tak:
id | student_id | subjects_id
-----------------------------------------
1 | 1 | 10
2 | 4 | 11
3 | 4 | 19
4 | 5 | 10
...
~1000
Jak mogę uzyskać dostęp do pola subject_id i policzyć, ile razy przedmioty_id istnieje w powyższej tabeli (a następnie zrób coś z tym). Na przykład: jeśli temat o identyfikatorze 10 istnieje dwa razy, szablon wyświetla 2. Wiem, że powinienem użyć „len” z wynikiem, ale nie wiem, jak uzyskać dostęp do pola subject_id. Z obcymi kluczami robię to w pętli for:
results_all = Students.objects.filter(subject_id='10')
result = len(results_all)
i przekazuję wynik do szablonu i wyświetlaję go w pętli for, ale nie jest to klucz obcy, więc nie działa.