risposta
fino django 1.4 (attualmente in alpha) l'amministratore Django soltanto gli ordini nel prima colonna Meta ordering
. È possibile aggirare il sovrascrivendo il set di query:
class MyAdmin(admin.ModelAdmin):
def queryset(self, request):
qs = super(MyAdmin, self).queryset(request)
qs = qs.order_by('last_name', 'first_name')
return qs
Prova questo:
Imposta ordine nel modello Meta
:
class Meta:
ordering = ["some_field", "other_field"]
e aggiungere questa classe in admin.py
:
from django.contrib.admin.views.main import ChangeList
class SpecialOrderingChangeList(ChangeList):
"""
Django 1.3 ordering problem workaround
from 1.4 it's enough to use `ordering` variable
"""
def get_query_set(self):
queryset = super(SpecialOrderingChangeList, self).get_query_set()
return queryset.order_by(*self.model._meta.ordering)
Aggiungi questo metodo nel tuo admin.ModelAdmin
def get_changelist(self, request, **kwargs):
return SpecialOrderingChangeList
fonte: https://groups.google.com/forum/?fromgroups#!topic/django-users/PvjClVVgD-s
Usa 'get_queryset' invece di 'get_query_set' in django 1.11 – Jickson
A seguito della risposta del user535010 sopra: ho faticato perché dopo aver aggiunto il codice suggerito non ero più in grado di ordinare i campi facendo clic sulle intestazioni nella vista lista admin. Ho modificato il metodo get_changelist consigliato per MyModelAdmin come segue:
def get_changelist(self, request, **kwargs): #ordering issue in 1.3 workaround
try:
if not request.GET['o']:
return SpecialOrderingChangeList
except KeyError:
pass
return super(MyModelAdmin, self).get_changelist(request)
La funzione richiesta per far funzionare click-ordinazione con la correzione multi-colonna di ordinamento è questo:
def get_changelist(self, request, **kwargs):
try:
if request.GET['o']:
return super(ModelAdmin, self).get_changelist(request)
except KeyError:
pass
return SpecialOrderingChangeList
contrario alla risposta di jenniwren :-)
- 1. rails 3 trova o crea in base a più campi
- 2. Ordine Linq in base a valori specifici
- 3. Ordine per somma di due campi
- 4. MongoDB: ordine di due campi somma
- 5. Ordine HashMap in ordine alfabetico in base al valore
- 6. Inizializzazione ordine dei campi finali
- 7. SSRS Lookup base a più condizioni
- 8. Come ordinare in base a due campi in Java?
- 9. ordine mySQL in base a determinati valori e quindi DESC?
- 10. SQL: come trovare i duplicati in base a due campi?
- 11. Modo corretto di ordinare i bean Java in base a più campi
- 12. Ordine Laravel in base alla tabella correlata
- 13. ordine di lavoro jenkins a più configurazioni
- 14. Ordinamento tramite più campi in SQLite
- 15. Mostra campi in base al valore selezionato
- 16. classe A dichiara più campi JSON
- 17. inizializzazione Ordine di Static campi in Static Classe
- 18. Come faccio a selezionare più campi in JQ
- 19. Ordina hash in ordine alfabetico in base ad un campo
- 20. dizionario python ordinamento in ordine decrescente in base ai valori
- 21. ordine su ordinazione sulla base Enum valori
- 22. Django Admin -> Modifica ordine di campi, inclusi campi in linea
- 23. Convalida su più campi
- 24. Ordine dinamico con SELECT con più colonne
- 25. Come trovare il primo elemento in base a un ordine specifico utilizzando LINQ in O (n)?
- 26. Ordina array in ordine crescente in base a int e non stringhe
- 27. Interrogazione di più campi ripetuti in BigQuery
- 28. SQL Server Ruota più colonne in base a una colonna
- 29. Rimuovere i record duplicati in base a più colonne?
- 30. ottiene sottosezione di df in base a più condizioni
Grazie, comunque ho provato il tuo codice ma non ha avuto effetto, sto usando Django 1.3. –