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%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%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)
Tags und Links django django-models