Bonjour, je cherche à creer une condition pour un formulaire de recherche.
En effet:
- j'ai une table "ville" avec id et ville
- j'ai un formulaire avec 2 champs: "départ" et "arriver"
Lorsque les deux champs sont remplis, pas de soucis, la requête s’exécute bien. Mais si je n'ai qu'un champs de rempli, cela m'affiche un message d'erreur. Cette, je peux contourner cela en forçant l'utilisateur à remplir tout les champs mais bon.
Je souhaiterai faire un XOR, un peu comme en PHP
J'ai essayé en mettant des
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 views.py def recherche(request): if request.method == 'POST': recherche_form = RechercheForm(request.POST) reponse = request.POST.get('depart') print 'Reponse' print reponse Id= Ville.objects.get(ville=reponse).id print 'Id' print Id reponse_a = request.POST.get('arriver') print 'Reponse_a' print reponse_a Id_a= Ville.objects.get(ville=reponse_a).id if recherche_form.is_valid(): depart = recherche_form.cleaned_data['depart'] arriver = recherche_form.cleaned_data['arriver'] resultat = Formulaire.objects.filter(Q(depart_id=Id)&Q(arriver_id=Id_a)) print resultat #Affichage de la page "resultat_recherche" return render(request, 'blabla/resultat_recherche.html', {'resultat_recherche': resultat}) else: recherche_form = RechercheForm() return render(request, 'blabla/recherche.html', {'recherche_form': recherche_form})
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if reponse==None: id=None
Et quelques conditions avant les requetes, mais cela ne veut rien savoir !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if request.POST.get('depart')==None: reponse=None
Merci à vous
Partager