Django-Filter durch mehrere Felder in einer Viele-zu-Viele-Zwischentabelle

8

Ich habe die folgenden Modelle in meinem Django-Projekt:

%Vor%

Nun möchte ich alle Videos filtern, die ein bestimmtes Format haben, UND der Statuscode für dieses Format ist 10 (gebrauchsfertig). Wie kann ich das machen? (unter der Annahme, dass f das Format ist):

%Vor%

Ich bin versucht zu verwenden:

%Vor%

Aber dann würde das alle Videos zurückgeben, die diesen beiden Annahmen entsprechen:

  • a) enthält dieses spezifische Format und
  • b) enthalten ein beliebiges Format mit dem Status 10

Wie soll ich nur diejenigen filtern, die dieses spezifische Format in einem Statuscode von 10 haben?

Danke!

    
user684334 30.03.2011, 17:06
quelle

3 Antworten

10
  

Nun möchte ich alle Videos filtern, die ein bestimmtes Format haben, UND die   Statuscode für dieses Format ist 10 (bereit zu verwenden). Wie kann ich das machen?   (unter der Annahme, dass f das Format ist)

Der von Ihnen gepostete Code wird genau das tun, was Sie wollen:

%Vor%

Dies ist in der Dokumentation filter() dokumentiert:

  

Mehrere Parameter sind im zugrunde liegenden SQL über UND verknüpft   Aussage.

    
Ludwik Trammer 02.12.2013 19:09
quelle
8

Sie können die Filter für ein "AND" -Konstrukt verketten.

Videos mit dem Format f UND der Status des Formats ist 10

%Vor%     
Chris W. 30.03.2011 17:17
quelle
2

Wahrscheinlich nicht relevant für das OP, aber vielleicht für andere wie mich, die diesen Thread gefunden haben, während sie nach der richtigen Antwort gesucht haben.

Ludwik hat es richtig gemacht, aber der Abschnitt in der Dokumentation, der all das erklärt, sowie das, was zu tun ist, schließt das aus, Abfragen Dokumentation .

Beachten Sie, dass das Aufteilen des Filters in zwei filter -Aufrufe, wie von Chris vorgeschlagen, genau das Gegenteil ergibt: Es wird nach einem Video mit dem Medienformat f gesucht, das ein Medienformat hat, das nicht unbedingt das gleiche ist Medienformat mit dem Status 10.

    
Ofirov 02.07.2015 16:46
quelle

Tags und Links