本文共 785 字,大约阅读时间需要 2 分钟。
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类
参考:
整个代码其实可以直接粘过来用,直接在任意的的app的admin.py文件下,添加如下代码就行
from django.contrib.auth.admin import UserAdminfrom 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')#取消注册默认的Useradmin.site.unregister(User)#注册自定义的NewUserAdminadmin.site.register(User, NewUserAdmin)
转载地址:http://ukxws.baihongyu.com/