我(和我的客户)想按上次登录对后端(菜单>设置>用户)中的用户进行排序。默认情况下,我只能按名称和用户名排序。解决这个问题的最佳做法是什么?同样在版本 5 中我没有找到这个功能。
您可以查看用户索引视图https://github.com/wagtail/wagtail/blob/main/wagtail/users/views/users.py#L67。然后你可以快速而肮脏地做到这一点:
子类化(某处):
from wagtail.users.views.users import Index
class UserIndex(Index):
def get_queryset(self):
qs = super().get_queryset()
qs = qs.order_by("-last_login") # most recent users first
return qs
猴子修补相关的 urlpatterns https://github.com/wagtail/wagtail/blob/main/wagtail/users/urls/users.py
from django.urls import path
from wagtail.users.urls.users import urlpatterns
from some.path import UserIndex
urlpatterns[0] = path("", UserIndex.as_view(), name="index")
AFAIK,wagtail 没有提供一种简单的方法来配置或调整其管理视图,如常见的 django 管理。不过,您可以轻松添加新的。