Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

irgo

[Resolvido] Agrupar por order alfabética ORM

Recommended Posts

Olá galera, beleza? Sou iniciante em python / Django e estou com um problema.

Estou criando um sisteminha de cadastro usando um recorte meu msm (sem usar o django admin) e programando tudo, para fins de estudos.Porém estou com um problema. Conseguir fazer o cadastro, inserir e editar tranquilo com o ModelForm só que na hora de listar eu queria listar por grupos onde o criterio seja a ordem alfabética. ex:

> A

- alceu

- alabama

- azimov

 

> B

- bruno

- bugatti

...

 

Como devo fazer isso ? no views a lista que eu consegui fazer é:

item = ClientesModel.objects.all().order_by('nome')

 

Com isso ele lista em ordem alfabética porém preciso agrupar por letra conforme o exemplo acima.

Alguem me da alguma luz???

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera procurei, testei, tentei inventar moda....n teve jeito, n consegui fazer direto no django, porém consegui resolver com javascript na hora de listar. No views.py eu listo tudo por ordem alfabética :

def get_clientes(request):
clientes = ClientesModel.objects.all().order_by("nome")
retorno = serializers.serialize("json",  clientes)
return HttpResponse(retorno, mimetype="text/javascript")

 

Mando a lista de dados pro template e ai lá eu organizo por javascript msm.

 

Fica um pouco fora na idéia dessa categoria mas pra quem tiver interesse, no javascript resolvi assim:

 

$.ajax({
	type: "get",
    url: area,
    dataType: "json",
    success: function(retorno){

		var categoria = '';

		$.each(retorno, function(hop, item) {
			if (categoria == "") {
                                   $(".list-ajax").append('<div class="title_tag ui-corner-top"><div class="icon-list ui-icon ui-icon-folder-open"></div>'+item.fields['nome'][0]+'</div><div class="line_bottom_tag"></div>');
			    categoria = item.fields['nome'][0];

			} else if (categoria != item.fields['nome'][0]) {
				$(".list-ajax").append('<p>'+item.fields['nome'][0]+'</p>');
		    	        categoria = item.fields['nome'][0];
			}

			$(".list-ajax").append('<p>'+item.fields["nome"]+'</p>');	
		});
	}
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.