Django Filtermodell nach Wörterbuch

8

Wie macht man einen Filter auf einem Django-Modell mit einem Dictionary und nicht mit Methodenargumenten? Das habe ich genau hier:

%Vor%

Side Question, gibt es eine bessere Möglichkeit, die Wörterbuchwerte zu setzen als das, was ich oben mache? Wie ein ternäres, aber in einer Weise, die den Wert nicht existieren lassen würde, wenn es keinen gibt?

%Vor%     
JREAM 15.04.2013, 15:01
quelle

2 Antworten

16

Sie verwenden ein Wörterbuch, um Schlüsselwortargumente wie folgt zu übergeben:

%Vor%

Es gibt keine eingebaute Möglichkeit, einen Diktatschlüssel bedingt zu setzen, aber wenn Sie dies sehr oft tun, können Sie Ihr eigenes schreiben:

%Vor%     
Pavel Anossov 15.04.2013, 15:02
quelle
5

Die obige Antwort ist richtig und ich schlage eine effizientere vor.

hier request.GET ist QueryDict Konvertiere es einfach in ein Dictionary wie dieses

kwargs = dict(request.GET)

und filtere es jetzt

models.Design.objects.filter(**kwargs)

    
Vamsidhar Muggulla 16.01.2017 06:14
quelle

Tags und Links