0

Transferring django objects queryset to js via json serialisation.

 result = Event.objects.filter(title__istartswith=key)
 events = serializers.serialize('json', result)

 data = {
    'events': events,

}
 return Response(data)

In js function it's successfully parsed,

 var sed = JSON.parse(data['events'])
         alert(JSON.stringify(sed))

The result look like this:

[{"model":"app.event","pk":66,"fields":{"city":"Запорожье","title":"Приглашение на казнь","date":" 04 апреля 2017 г","hashtag":"Театры","place":"Запорожский областной академический украинский музыкально-драматический театр им В.Г.Магара","image_link":"https://image.karabas.com/w/350/h/496/f/files/import/1100376762_ImageBig636196519366969017.jpg","description":"\nСпектакль Приглашение на казнь в Запорожье состоится 04 апреля 2017 г, 19:00. "}},{"model":"app.event","pk":94,"fields":{"city":"Киев","title":"Птицы или просто Моль","date":" 05 апреля 2017 г","hashtag":"Театры","place":"Театр «Дивний замок»","image_link":"https://image.karabas.com/w/350/h/496/f/files/import/1037587642_ImageBig636156960481061608.jpg","description":"\nСпектакль Птицы или просто Моль в Киеве состоится 05 апреля 2017 г, 19:00."}]

But the following code doesn't work, I thought it might work this way:

for (var e in sed) {

                          alert(e.title)

                      }

But it's just undefined. Also tried

 alert(e['title'])

This might be correct, but even alert doesn't work if I try like this:

 for (var e in data) {

                          alert(e.fields.title);

                      }

Didn't help as well. How to receive data correctly?

1 Answer 1

1

check your json structure, i think it should be e.fields.title

Sign up to request clarification or add additional context in comments.

1 Comment

{"events":"[{\"model\": \"app.event\", \"pk\": 6, \"fields\": {\"place\": \"\\u0414\\u043e\\u043c \\u0410\\u0440\ .......yeah, I also tried e.fields.title but it didn't work

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.