django greift auf viele bis viele erstellte Tabellenfelder zu

Modell:

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 erstellt appname_student_subjects, wenn ich das obige Modell verwende.

Die Tabelle appname_student_subjects sieht beispielsweise so aus:

id   |    student_id   |  subjects_id
-----------------------------------------
1    |    1            |  10
2    |    4            |  11
3    |    4            |  19
4    |    5            |  10
...
~1000

Wie kann ich auf das subject_id-Feld zugreifen und zählen, wie oft subject_id in der obigen Tabelle vorhanden ist (und dann etwas damit tun)? Beispiel: Wenn der Betreff mit der ID 10 zweimal vorhanden ist, wird in der Vorlage 2 angezeigt. Ich weiß, dass ich "len" mit dem Ergebnis verwenden sollte, aber ich weiß nicht, wie ich auf das Feld "subject_id" zugreifen soll. Mit Fremdschlüsseln mache ich das in einer for-Schleife so:

results_all = Students.objects.filter(subject_id='10')
result = len(results_all)

und ich übergebe das Ergebnis an die Vorlage und zeige es in einer for-Schleife an, aber es ist kein Fremdschlüssel, daher funktioniert es nicht.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage