JSON - Django / Webdatarocks: невозможно правильно сериализовать данные в JSON - PullRequest
0 голосов
/ 16 января 2020

В настоящее время я разрабатываю проект Django и пытаюсь реализовать WebDataRocks. WebDataRocks - бесплатный инструмент веб-отчетности для анализа и визуализации данных.

Я работаю, но моя проблема связана с правильным представлением данных, которые будут обновляться в Webdatarocks. I Я хотел бы обновить каждую из моих моделей.

У меня есть данные имени представления, используемые с моим шаблоном, которые загружают WebDataRocks

def data(request):
    data = serializers.serialize("json", mymodel.objects.filter(med_ide__lte=10))
return render(request, 'myapp/data.html', {'data':data})

Я не совсем понимаю, как получается json, потому что производит Я получаю этот формат:

[
    {
        "model": "myapp.mymodel", 
        "pk": 1, 
        "fields": 
            {
               "var1": 1, 
               "var2": "ABC", 
               "var3": "code", 
               "var4": "text", 
               "var5": null, 
               "var6": "'text'", 
               "var7": null
             }
     }, 
     {
        "model": "myapp.mymodel", 
        ....
     }
]

enter image description here

В таблице webdatarocks есть только две переменные, к которым я получаю доступ: myapp.mymodel и pk. Я пытаюсь извлечь только часть моих данных мне нужна (= поля), используя такие вещи, как data ['fields'], но это неправильный синтаксис

что не так?

Ответы [ 2 ]

0 голосов
/ 16 января 2020

Я нашел решение (не, если это хорошее решение, но, кажется, работает), используя передачу списка в контекст вместо использования данных сериализатора = json .dumps (list (Medicament.objects.filter (med_ide__lte) = 10) .values ​​('med_ide', 'med_num', 'med_dru')))

Я могу использовать метод values ​​() для извлечения нужных мне полей

0 голосов
/ 16 января 2020

вы должны получить значение поля из json, например data.get ('fields'), а затем отправить его в контексте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...