鹡鸰:如何订购片段

Wagtail: How to order snippets

我正在为国家和州等内容创建 Wagtail 代码段,但也为其他功能(如交通选项)创建 Wagtail 代码段。我很惊讶无法在“选择器”面板中显示订单片段。

“片段缺少页面的许多功能,例如可以在 Wagtail 管理中订购” https://docs.wagtail.io/en/stable/topics/snippets.html?highlight=order

这意味着如果我插入(比方说)一个新的国家/地区,它不可能出现在按字母顺序排列的列表中,这使得用户很难在面板中找到它。

有没有办法至少在面板中呈现按 alpha 排序的片段项目?

我真的更希望能够在管理员中订购 UI,这样我就可以将“在地铁上”、“短途步行到地铁”、“长途车程到地铁”等选项组合在一起,而不是 alpha 排序。如果我不能用 Snippets 做到这一点,有没有办法对 Orderable 做类似的事情,并允许它像 Snippets 一样在 Admin UI 中维护?

谢谢。

Django 允许您在模型的 Meta class 上设置 ordering 属性 来定义该模型查询使用的默认顺序 - Wagtail 中的列表管理员将使用它。

@register_snippet
class Country(models.Model):
    name = models.CharField(max_length=255)

    class Meta:
        ordering = ['name']

对于 user-defined 排序,您可以定义一个数字字段(例如,名为 position)并将 ordering 属性 设置为该字段。