如何解决将特定组的 django 用户排序在顶部
应用程序的所有用户都至少映射到一个组。以下是可用群组的列表:
>>>Group.objects.all()
<QuerySet [<Group: superuser>,<Group: maintainer>,<Group: admin>,<Group: executive>,<Group: client>,<Group: other>]>
当我使用 .all()
呈现查询集中的所有用户时,我想按照特定的自定义顺序对它们进行排序,这样所有的 Superusers
都应该在顶部,然后 {{1} },然后是 Admins
,然后是以下列表中的其余用户。
Executives
想知道如何在我的 custom_sort_order = ['superuser','admin','executive','client','maintainer','other']
上使用 sorted()
函数:
queryset
解决方法
您可以通过查看 user group name
对 custom_sort_order
进行排序:
def get_queryset(self):
qs = super().get_queryset()
custom_sort_order = ['superuser','admin','executive','client','maintainer','other']
return sorted(qs,key=lambda item: custom_sort_order.index(item.groups.first().name))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。