Hoje me deparei com duas situações: preisava ordernar um queryset com dois ou mais campos e ordenar no Admin do Django de forma diferente.
Vai pra lá, vem pra cá e cheguei na seguinte solução:
No modelo inclua o seguinte:
class Meta: ordering = ('nome_do_campo', 'nome_do_outro_campo', )
Agora, dentro de seu admin.py faça:
from django.contrib.admin.views.main import ChangeList class SpecialOrderingChangeList(ChangeList): def get_query_set(self): queryset = super(SpecialOrderingChangeList, self).get_query_set() return queryset.order_by(*self.model_meta.ordering)
No seu admin.Model inclua:
def get_changelist(self, request, **kwargs): return SpecialOrderingChangeList
be happy (e de um retorno se funcionou!)
Nenhum comentário:
Postar um comentário