Я создаю автоматический поиск по своей веб-странице и пытаюсь получить имя пользователя из базы данных с помощью вызовов ajax.
Мой вызов AJAX работает нормально и идет по указанному URL.
Я пытался использовать кодировщик JSON, но это также не сработало.
Я немного новичок в DJANGO. Пожалуйста, помогите
Мой views.py
def autocomplete(request):
if request.is_ajax():
q = request.GET.get('search', '').capitalize()
search_qs = Profile.objects.filter(user__username__startswith=q)
results = []
print (q)
for r in search_qs:
results.append(r.user)
data= json.dumps(list(results), cls=DjangoJSONEncoder)
else:
data = 'fail'
mimetype = 'application/json'
return HttpResponse(data, mimetype)
Мой models.py
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
image = models.ImageField(default='default.jpg', upload_to='profile_pics')
def __str__(self):
return f'{self.user.username} Profile'
Ошибка Я получаю
TypeError: Object of type User is not JSON serializable
[] "GET /ajax_calls/search/?**term=he** HTTP/1.1" 500 15860