2017-04-06 1 views
0

DB에서 목록을 가져 와서 js 연관 배열로 변환하고 싶습니다. JS에서db에서 js 배열로 객체가있는 Django 목록

def lesson(request, block_id): 
block_name = Block.objects.get(id=block_id) 
item = Item.objects.filter(item_id=block_id) 

item_json = json.dumps(item) 

context = { 
    "item_block": block_name, 
    "item_json": item_json 
} 
return render_to_response('item_page.html', context) 

나는

<script> 
    var counts = JSON.parse("{{ item_json }}"); 
    console.log(counts) 
</script> 

을하지만 난이 오류가 나는 물체로 배열을 얻을 JS에서 사용할 수있는 방법

<QuerySet [<Item: Item object>, <Item: Item object>, <Item: Itemobject>]> 

?

+0

확인 http://stackoverflow.com/questions/16790375/django-object-is-not-json을 - 직렬화 할 수 있습니다. 문제를 해결해야합니다. – rkatkam

답변

0

장고 쿼리 세트를 직렬화하려면 django serializers을 사용해야합니다. 코드는 다음과 같이 표시됩니다

from django.core import serializers 

def lesson(request, block_id): 
    block_name = Block.objects.get(id=block_id) 
    item = Item.objects.filter(item_id=block_id) 

    item_json = serializers.serialize('xml', item) 

    context = { 
     "item_block": block_name, 
     "item_json": item_json 
    } 
    return render_to_response('item_page.html', context) 

주를 직렬화 된 객체는 다음과 같은 형식으로 가지고 :

{ 
    "model": "app_name.model_name", 
    "pk": 1, 
    "fields": {"field1": 1, "field2": 2, etc..} 
}