Pular para o conteúdo

Pegar elementos especificos de um objeto

Responder tópico
  • Denunciar
  • Indicar

1. Pegar elementos especificos de um objeto

Enviado em 17/11/2011 - 17:17h

Gente blz
aqui eu tenho uma view que serializa no formato que eu quero um objeto python, blz...entao
agora quando eu clicko em cima de uma dos nomes eles pega e passa o id especifico e serializa no formato json somente os dados daquele id especifico

Na serialização de todo o objeto eu estou usando essa função:
Prestem atenção somente no "for"

def json_indexEmpresa(request):
s = '{\n "items":['
for i in Empresa.objects.all():
s = s +'{\n "id":'+str(i.id) + ',\n "nome":"'+str(i.nome)+'",\n "estado":"'+str(i.estado)+'",\n "municipio":"'+str(i.municipio)+'",\n "bairro":"'+str(i.bairro)+'",\n "numero":"'+str(i.numero)+'",\n "cep":"'+str(i.cep)+'",\n "telefone":"'+ str(i.telefone)+'"\n},'
s = s[:-1]
s = s + ']\n}'
return HttpResponse(s, mimetype="text/javascript")


na serialização do objeto Empresa.objects.all() ele fica assim:
{
"items":[{
"id":1,
"nome":"Marcus123",
"estado":"MG",
"municipio":"santa rita do sapucai",
"bairro":"centro",
"numero":"123",
"cep":"3212312312",
"telefone":"112342142142"
},{
"id":2,
"nome":"Leucotron2",
"estado":"MG",
"municipio":"santa rita do sapucai",
"bairro":"centro",
"numero":"123",
"cep":"3212312312",
"telefone":"11111111111"
},{
"id":3,
"nome":"intelligs",
"estado":"MG",
"municipio":"santa rita do sapucai",
"bairro":"centro",
"numero":"123",
"cep":"3212312312",
"telefone":"11111111111"
}]
}
---------------------------------------------------------------------------------------------------------------------------------------------------

Blz mas quando eu quero um especifico ele tem que aparecer o especifico assim:
{
"items":[{
"id":1,
"nome":"Marcus123",
"estado":"MG",
"municipio":"santa rita do sapucai",
"bairro":"centro",
"numero":"123",
"cep":"3212312312",
"telefone":"112342142142"
}]
}
A view q eu estou montando fica mais ow menos asim:

def json_detailEmpresa(request, empresa_id)
e = get_object_or_404(Empresa,pk=empresa_id)

s = '{\n "items":['
for i in e:
s = s +'{\n "id":'+str(i.id) + ',\n "nome":"'+str(i.nome)+'",\n "estado":"'+str(i.estado)+'",\n "municipio":"'+str(i.municipio)+'",\n "bairro":"'+str(i.bairro)+'",\n "numero":"'+str(i.numero)+'",\n "cep":"'+str(i.cep)+'",\n "telefone":"'+ str(i.telefone)+'"\n},'
s = s[:-1]
s = s + ']\n}'



Mas da pau, alguem pode me dar uma luz??
return HttpResponse(s, mimetype="text/javascript")


Responder tópico

2. Re: Pegar elementos especificos de um objeto

Enviado em 17/11/2011 - 18:03h

A expressáo "dá pau" é muito vaga.
A melhor forma de encontrar o erro e resolver seu problema seria executar o servidor web em modo debug.

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder