2017-04-06 7 views
0

J'utilise djangorestframework pour implémenter la requête ajax post.L'implémentation d'ajax + djangorestframework ne fonctionne pas 500

Malheureusement, cela ne fonctionne pas. Djangorest docs dit que je peux utiliser la sérialisation par défaut et retourner les données de cette façon, mais cela ne fonctionne pas. Est-ce que mon code est correct? Ou la seule façon d'utiliser ajax avec djangorestframework est de créer son propre sérialiseur?

@api_view(['POST', ]) 
def live_search(request): 
    if request.method == 'POST': 
     key = request.data['key'] 
     result = Event.objects.filter(title__contains=key) 
     result_s = serializers.serialize('json', result) 
     request.data['result'] = result_s 
    else: 
     error = "error" 
     return error 
    return Response(request.data) 

En ce qui concerne la demande, je sais seulement que c'est 500 erreur côté serveur. Queryset est correct

Répondre

2
@api_view(['POST', ]) 
def live_search(request): 
if request.method == 'POST': 
    data = request.data 
    key = data.get('key') 
    result = Event.objects.filter(title__contains=key) 
    result_s = serializers.serialize(result, many=True).data    
    return Response({'result': result_s}) 

Yoh doivent déclarer sur serializers tête

+0

ne fonctionne malheureusement pas. et quel est le but de .data? –

+0

J'ai changé un peu de code, vous pouvez l'essayer fonctionnera – ketanmodi

+1

il retournera des données json sinon il retourne l'objet – ketanmodi