Как удалить " «из ответа json» «? - PullRequest
0 голосов
/ 29 апреля 2020

Я отправляю данные в json, но вывод выглядит так:

{
  "ids": "<QuerySet [dafa1, lnvq2]>"
}

, и я хочу это так:

{
  "ids": "dafa1, lnvq2"
}

вот код I ' м, используя:

from upload.models import Images
from django.http import JsonResponse

def list(request):
    ids = Images.objects.filter(allowed=True).values_list('id', flat=True)
    data = {
        'ids': str(ids),
    }
    return JsonResponse(data)

Ответы [ 2 ]

2 голосов
/ 29 апреля 2020

Используйте встроенные функции join() и map(),

<b>def some_good_name(request)</b>:
    ids = Images.objects.filter(allowed=True).values_list('id', flat=True)
    <b>data = {
        'ids': ", ".join(map(str, ids))
    }</b>
    return JsonResponse(data)

Примечание: Измените свое имя функции представления с список , так как это зарезервированное ключевое слово в Python

1 голос
/ 29 апреля 2020

Вы можете попробовать запустить for ... in ... и добавить эти элементы в строку перед добавлением в словарь.

from upload.models import Images
from django.http import JsonResponse

def list(request):
    ids_string = ''
    ids = Images.objects.filter(allowed=True).values_list('id', flat=True)
    for id in ids:
        ids_string += str(id)
    data = {
        'ids': ids_string,
    }
    return JsonResponse(data)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...