Wie kann man den Manager von Django-manytomany bitten, mehrere Beziehungen gleichzeitig zu finden?

8

Ich habe dieses Modell:

%Vor%

Und ich würde gerne einen Film mit denselben Schauspielern wie einen anderen Film aufnehmen. Not one actor in common, but all the actors in common .

Also ich will das nicht:

%Vor%

Ich möchte etwas, das "Matrix I" zu "Matrix II" macht, weil sie "Keanu Reeves" und "Laurence Fishburne" teilen, aber nicht "Speed", weil sie "Keanu Reeves", aber nicht "Laurence Fishburne" teilen .

    
e-satis 19.09.2011, 11:15
quelle

1 Antwort

7

Der Manager many to many kann nicht mehrere Beziehungen gleichzeitig abgleichen. Auf der Datenbankebene kommt es auf das Auswählen und Gruppieren an.

Natürlich ist die einzige Frage, die die Datenbank beantworten kann, folgende: Auflisten von Aktivitäten, die diese Personen involvieren, gruppieren sie nach Film und zeigen nur jene Filme, die dieselbe Anzahl von Aktivitäten wie Personen haben.

Übersetzt in das ORM-Format sieht es so aus:

%Vor%

Die Abfrage, die das erzeugt, ist eigentlich nicht schlecht:

%Vor%

Ich habe auch eine kleine Anwendung, die ich verwendet habe, um dies zu testen, aber ich weiß nicht, ob jemand es braucht oder wo es zu hosten.

    
tback 05.01.2012 12:46
quelle

Tags und Links