Ich führe die Suche in meinem Projekt durch, was ich möchte, ist concat zu Spalte in where-Klausel, um Ergebnisse von der Tabelle zu erhalten.
Hier ist was ich mache:
%Vor%Nun möchte ich eine weitere ODER-Bedingung hinzufügen wie:
CONCAT(' ', created_by__first_name, created_by__last_name) like '%'search_value'%
'
Wenn ich diese Bedingung jedoch dem Abfrage-Set hinzufüge, wird daraus AND
%Vor%Wie konvertiere ich dies in eine OR-Bedingung?
Erweiterte Filter können durch gelöst werden
Q () -Objekt und
Abfrageausdrücke wie Func (), Value () und F ().
Der einzige verwendete Trick ist a
Benutzerdefinierte Suche "rhs_only", die die rechte Seite der Suche verwendet und die ignoriert linke Seite, weil es einfacher ist, alle verketteten Felder direkt auf der rechten Seite zu verwenden. Eine denkwürdige Funktion concat_like
kapselt, dass alle in Abfragen leicht verwendet werden können.
Alle booleschen Ausdrücke und verwandte Objekte werden von diesem Code unterstützt. Alle Argumente sind korrekt maskiert.
Beispielverwendung:
%Vor%Relevante Dokumentation:
Sie können auf annotierte Felder innerhalb der Filtermethode verweisen. So können Sie nach zwei verketteten Feldern filtern und sie als eine andere OR-Bedingung hinzufügen:
%Vor%Zum Spaß, hier ist ein funktionierendes Beispiel basierend auf dem Benutzermodell.
%Vor%