Трясогузка: как заказывать сниппеты
Я создаю сниппеты трясогузки для таких вещей, как страна и штат, а также для других функций, таких как варианты транспортировки. Я удивлен, что нет возможности отображать сниппет заказа в панелях «сборщика».
«В фрагментах отсутствуют многие функции страниц, например, их можно заказать в админке Wagtail» https://docs.wagtail.io/en/stable/topics/snippets.html?highlight=order
Это означает, что если я вставлю (скажем) новую страну, невозможно отобразить ее в алфавитном списке, и пользователям будет очень трудно найти ее на панели.
Есть ли способ, по крайней мере, отображать элементы сниппета с альфа-сортировкой на панели?
Я действительно предпочел бы иметь возможность делать заказы в пользовательском интерфейсе администратора, чтобы у меня были варианты, такие как «В метро», «Короткая прогулка до метро», «Долгая поездка до метро», сгруппированные вместе, а не с сортировкой по альфа-каналу. Если я не могу сделать это с помощью сниппетов, есть ли способ сделать что-то подобное с помощью Orderable и разрешить его сохранение в пользовательском интерфейсе администратора, например сниппеты?
Благодарю.
Ответы
Django позволяет вам установить orderingсвойство в классе модели, Meta
чтобы определить порядок по умолчанию, используемый запросами по этой модели - это будет использоваться в списках администратора Wagtail.
@register_snippet
class Country(models.Model):
name = models.CharField(max_length=255)
class Meta:
ordering = ['name']
Для определяемых пользователем порядков вы можете определить числовое поле (например, с именем position
) и установить ordering
свойство для этого поля.