Je travaille sur une application avec le framework Django, actuellement, je développe une barre de recherche avec autocomplétion.
Je rencontre un problème, lors de la saisie d'un caractère dans la barre de recherche, je ne vois pas les champs "Nom" et "Prénom" à la place, je vois " [objectObject] ".
Je bloque dessus depuis quelques heures
models.py
class User(models.Model):
Nom = models.CharField(max_length=30)
Prenom = models.CharField(max_length=30)
def __str__(self):
return self.Nom
urls.py
from django.urls import path
from poste.views import Poste
from poste.views import Home, PosteSearch, PosteRT, PosteP, CommentCreateView, CommentUpdateView, SchemaPreferentielUpdateView, AutreParticulariterUpdateView
from poste.views import showList, search_poste, Historique, autocomplete, SupprimerCommentaire
app_name = "poste"
urlpatterns = [
path('', Home.as_view(), name="Home"),
path('search', search_poste),
views.py
def search_poste(request):
libelle = request.GET.get('nom')
payload = list()
if libelle:
poste_obj = User.objects.filter(Prenom__icontains=libelle)
for p_o in poste_obj:
data = {}
data = [{'id': p_o.id, 'Nom': p_o.Nom, 'Prenom': p_o.Prenom}]
payload.append(data)
print(data)
return JsonResponse({'status': 200, 'data': payload})
J'ai pas trop de compétences en JavaScript, mais il me semble y voir une histoire d'indice pas pris en compte ce qui donne ce résultat sous forme de listes [object Object]
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
J'avais fait un up au dessus tu peux essayer d'insérer cette boucle dans promesse et rajouter console.log(`nom -> ${nom} - prenom -> ${prenom}`) voir ce que ça donne
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
yasakani no magatama
yasakani no magatama