在管理区域中,我每次都必须激活“启用子页面排序”。有没有办法将其设置为永久选项?主要问题是子页面视图中的列表会根据是否激活(如果您更改了顺序)而发生变化,这对某些人来说可能有点混乱。
可能有人可以改变子列表的默认顺序以某种方式匹配手动排序的列表吗?
答案 0 :(得分:1)
好的,到目前为止。似乎这是不可能的。但是似乎确实尊重Django模型的默认排序。 https://docs.djangoproject.com/en/2.1/ref/models/options/#ordering
答案 1 :(得分:1)
在ChildPage模型上设置Meta.ordering
对我来说不起作用,但是通过返回有序的QuerySet覆盖父页面的get_children()
方法,解决了子页面顺序问题。
class MyRootPage(Page):
description = models.CharField(max_length=255, blank=True)
content_panels = Page.content_panels + [FieldPanel("description", classname="full")]
def get_children(self):
qs = super().get_children()
qs = qs.order_by('-last_published_at')
return qs