Ballerina: come ordinare gli snippet
Sto creando frammenti di ballerina per cose come Paese e Stato, ma anche per altre funzionalità come Opzioni di trasporto. Sono sorpreso che non sia possibile ordinare la visualizzazione dello snippet nei pannelli "selettore".
"Gli snippet mancano di molte delle funzionalità delle pagine, come essere ordinabili nell'amministratore di Wagtail"https://docs.wagtail.io/en/stable/topics/snippets.html?highlight=order
Ciò significa che se inserisco (diciamo) un nuovo Paese, è impossibile farlo apparire in un elenco alfabetico, rendendo molto difficile per gli utenti trovarlo in un pannello.
C'è un modo, almeno, per rendere gli elementi snippet ordinati alfa nel pannello?
Preferirei davvero essere in grado di ordinare nell'interfaccia utente dell'amministratore, quindi potrei avere opzioni come "Sulla metropolitana", "Breve passeggiata per la metropolitana", "Long Drive to Subway" raggruppate insieme, piuttosto che ordinate alfa. Se non riesco a farlo con gli snippet, c'è un modo per fare qualcosa di simile con un ordinabile e consentire che venga mantenuto nell'interfaccia utente di amministrazione come lo sono gli snippet?
Grazie.
Risposte
Django ti consente di impostare una orderingproprietà sulla Meta
classe del modello per definire l'ordinamento predefinito utilizzato dalle query su quel modello: gli elenchi all'interno dell'amministratore di Wagtail lo utilizzeranno.
@register_snippet
class Country(models.Model):
name = models.CharField(max_length=255)
class Meta:
ordering = ['name']
Per gli ordinamenti definiti dall'utente, è possibile definire un campo numerico (denominato position
, ad esempio) e impostare la ordering
proprietà su tale campo.