:如何订购摘要

问题描述

我正在为诸如国家和州之类的东西,以及诸如运输选项之类的其他功能创建Wa尾片段。令我惊讶的是,无法在“选择器”面板中显示摘要片段。

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

这意味着,如果我插入(说)一个新的国家/地区,就不可能将其显示在字母列表中,这将使用户很难在面板中找到它。

至少有一种方法可以呈现面板中按字母顺序排序的代码段项目吗?

我真的更希望能够在Admin UI中进行订购,因此我可以将“在地铁上”,“步行到地铁上的短途旅行”,“从地铁到长途旅行”等选项组合在一起,而不是按字母顺序排序。如果我无法使用代码段执行此操作,是否有办法对Orderable进行类似操作,并允许其像代码段一样在Admin UI中进行维护?

谢谢。

解决方法

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

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

    class Meta:
        ordering = ['name']

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