Je suis en train de travailler sur le developpement d'une recherche multi-critère.
Pour l'instant j'utilise 3 critères mais à l'avenir d'autres critères vont être inséré.
Le problème est que je dois aussi géré les valeurs null car on est pas obligé d'utiliser tous les critères proposés.
L'algorithme devient donc très vite laborieux en fonction du nom de critères dans le formulaire de recherche.
J'ai donc trouvé une parade (je suis sure que c'est pas une bonne méthode )
en utilisant la fonction suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
def resultat(request):
    id_commune = request.POST['commune']
    id_activite = request.POST['activite']
    id_specificite = request.POST['specificite']
    if id_commune:
        id_com = ".filter(commune=" + id_commune + ")"
    if id_activite:
        id_act = ".filter(activite=" + id_activite + ")"
    if id_specificite:
        id_spe = ".filter(specificite=" + id_specificite + ")"
    requete = "Site.objects" + id_com + id_act + id_spe
    return requete
La variable requete est une suite de chaine de caractères hors moi ce que je souhaite c'est que Django puisse reconnaitre cette chaine comme étant une API d'abstraction.
Y'a t'il une fonction qui me permettrai de résoudre mon problème ?