NXQL ILIKE Python API

Bonjour,

J'ai un problème avec mes requêtes NXQL, en effet je cherche à effectuer une recherche sur un champ (dc:title par exemple) qui ne soit pas sensible à la casse depuis une application développée avec Django et utilisant l'API Python de Nuxeo.

Toutefois lorsque j'essaye d'utiliser “ILIKE” dans ma requête NXQL celle-ci ne retourne rien alors qu'elle est correcte (marche dans la partie Administrateur de la GED Nuxeo)

    query = "SELECT * FROM Document WHERE ecm:path STARTSWITH '" + category.path.split("{", maxsplit=1)[0] + "' AND ecm:primaryType = '" + category.doc_type + "'"

    # Récupération des données du formulaire
    for field in form.fields:
        result = unquote(re.search(field + '(.+?)&', request.__str__()).group(1).replace("=", "")).replace("+", " ")
        f = field.replace("ctm_", "")
        cel = CategoryElement.objects.get(category=category, element=Element.objects.get(name=f))

        if cel.property_type and cel.is_text_field:
            query += " AND " + cel.property_type + ":" + f + " ILIKE '%" + result + "%'"
            values.append([cel.property_type + ":" + f, result])

    print(query)

    docs = sso_instance.nuxeo.client.query(query=query)

    print(docs['entries'])

ce programme affiche :

SELECT * FROM Document WHERE ecm:path STARTSWITH '/SVE' AND ecm:primaryType = 'Cocktail' AND dc:title ILIKE '%CaRTe%'

[]

type an image title

J'aimerais savoir si il y a une syntaxe particulière pour le ILIKE ne utilisant l'API Python ou s'il est possible de faire quelque chose pour que les requêtes ne soient pas sensibles à la casse.

Merci d'avance,

Hugo

FILES:   Capture.PNG
0 votes

0 answers

947 views

ANSWER