Django-Abfragegruppenfilter nach einer Verkettung zweier Spalten

7

Gibt es eine Möglichkeit, ein Modell mithilfe einer Verkettung zweier Spalten zu filtern? Mein Modell ist so:

%Vor%

Was ich brauche, ist nach der Verkettung der zwei Spalten zu filtern, wenn ein Benutzer A123 eingibt Ich möchte jedes Element finden, das eine Reihe und Nummer hat wie% A und 123% oder% A1 und 23% Ist das mit den Django-Modellen möglich? Oder ist es mit rohen sql möglich? Ich würde lieber keine neue Spalte mit der Verkettung erstellen.

    
Virgil Balibanu 14.09.2015, 07:15
quelle

4 Antworten

12

Ja das ist möglich; Sie müssen annotate das QuerySet mit der Verkettung der Felder und die neue "virtuelle" Spalte kann filtern.

relevante Dokumentation zu Filter-Kommentaren

mit Concat als Annotationsfunktion

    
mccc 14.09.2015, 07:22
quelle
10

Zusätzlich zu dem, was vorher gesagt wurde, Beispiel:

%Vor%     
bilabon 25.03.2016 16:56
quelle
2

Ich habe meinen Weg gefunden, wenn Sie einige der Ajax-Anfragen verwenden, dann habe ich begonnen, so zu verwenden

in views.py

%Vor%

und in returned ajax page (in meinem Fall 'searchajax.html')

%Vor%

es funktioniert sehr gut für mich:))

Ein anderer Weg besteht darin, Anmerkungen zu verwenden

%Vor%

es macht auch den gleichen Job:))

    
xmastree 08.03.2017 14:37
quelle
0

Hier ist ein vollständiges Beispiel, das zeigt, wie man basierend auf der annotate() Funktion und ein Concat ausdruck .

%Vor%     
Don Kirkby 15.04.2016 17:33
quelle

Tags und Links