本文主要是介绍django admin auth用户按创建时间排序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
django默认后台用户管理是没有创建时间这个字段的,所有不能按时间排序很不方便。
UserAdmin源码如下:没有date_joined这个字段
list_display = ('username', 'email', 'first_name', 'last_name', 'is_staff')
所以想要让用户能按时间排序有几种方法:
1、最简单的方法就是修改源码,直接添加date_joined这个字段就行了, 但是不推荐
list_display = ('username', 'email', 'first_name', 'last_name', 'is_staff','date_joined')
2、可以重写整个user模块 ,比较麻烦,项目中不好改
3、现在项目用的方法,重写UserAdmin类
参考:https://stackoverflow.com/questions/38878409/ordering-users-by-date-created-in-django-admin-panel
整个代码其实可以直接粘过来用,直接在任意的的app的admin.py文件下,添加如下代码就行
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import Userclass NewUserAdmin(UserAdmin):#默认按时间倒叙排序ordering = ('-date_joined', )#增加date_joined字段list_display = ('username', 'email', 'first_name', 'last_name', 'is_staff','date_joined')#取消注册默认的User
admin.site.unregister(User)
#注册自定义的NewUserAdmin
admin.site.register(User, NewUserAdmin)
这篇关于django admin auth用户按创建时间排序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!