Eu resolvi fazer uma série de post's rápidos de dicas sobre Django. As 'Django Rapidinhas'.
E o tema de hoje é ordenar model's randomincamente no Django. Para isso precisamos de um model de exemplo. Vamos criar um model que represente um Aluno de uma escola ou faculdade.
class Aluno(models.Model):
nome = models.CharField(max_lenght=40)
idade = models.IntegerField()
Para retornarmos em uma lista todos os usuários usando o ORM do Django usamos o método all():
>> Aluno.objects.all()
Para ordenarmos essa lista usamos o método order_by, que necessita de um parâmetro informando o nome do campo que será a referência para a ordenação. Para um ordenação descendente adicionamos o '-' ao início do parâmetro e para uma ordenação ascendente não adicionamos nada, só o nome do campo basta.
Ordenar por nome, de forma ascendente:
>> Aluno.objects.all().order_by('nome')
Ordenar por nome de forma descendente:
>> Aluno.object.all().order_by('-nome')
E para ordenar randomicamente? É difícil?
A resposta é não. Pelo contrário. É muito fácil. É só passar uma interrogação (?) como parâmetro.
>> Aluno.objects.all().order_by('?')
Fácil não?
Um comentário:
Show amigo, parabéns uma rapidinha muito útil, obrigado por compartilhar.
Postar um comentário