2013-08-07 3 views
1

views.pyотправить отчет в определенном формате JSON

def json(request): 
    defaultnumber = [] 
    phoneinfo = PhoneInfo.objects.filter(user = user_id) 
    for phone in phoneinfo: 
     phone_no = {'id':some.id, 
        'name1':phone.name1, 
        'number1':phone.number1, 
        'name2':phone.name2, 
        'number2':phone.number2, 
        }        } 
     defaultnumber.append(phone_no) 
    result = { 'phone':defaultnumber} 
    return HttpResponse(json.dumps(result), mimetype="application/json") 

Мне нужно отправить данные в формате JSON.

+0

Помог ли ответ? – alecxe

ответ

1

Использование model_to_dict вместо:

from django.forms.models import model_to_dict 

def json_view(request): 
    phoneinfo = PhoneInfo.objects.filter(user = user_id) 
    phones = [model_to_dict(phone) for phone in phoneinfo] 

    result = {'phoneinfo': phones} 
    return HttpResponse(json.dumps(result), mimetype="application/json") 

И не называйте видом json - переопределением json имени модуля.

И неясно, откуда приходит переменная user_id.

+0

Привет, это сработало для меня. –

Смежные вопросы