【发布时间】:2016-08-10 16:01:30
【问题描述】:
如何在 django 管理面板中对用户进行排序,以便在显示时按创建日期排序?目前它们按字母顺序列出
我知道我可以通过from django.contrib.auth.models import User 导入User 模型
我该怎么做?
【问题讨论】:
如何在 django 管理面板中对用户进行排序,以便在显示时按创建日期排序?目前它们按字母顺序列出
我知道我可以通过from django.contrib.auth.models import User 导入User 模型
我该怎么做?
【问题讨论】:
要更改管理面板中用户的默认顺序,您可以子类化默认的 UserAdmin 类。在您的应用程序的admin.py:
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User
class MyUserAdmin(UserAdmin):
# override the default sort column
ordering = ('date_joined', )
# if you want the date they joined or other columns displayed in the list,
# override list_display too
list_display = ('username', 'email', 'date_joined', 'first_name', 'last_name', 'is_staff')
# finally replace the default UserAdmin with yours
admin.site.unregister(User)
admin.site.register(User, MyUserAdmin)
有关详细信息,请参阅documentation。
【讨论】:
your_project/your_app_name/admin.py)。
webapp/mysite/admin.py
django.contrib.admin 在您的项目中配置错误,请参阅我在答案中链接的文档。
管理站点将默认为模型本身指定的顺序,例如
class MyUserModel:
created = models.DateTimeField()
class Meta:
ordering = ('created', )
如果你想要更灵活的东西,即如果你想使用没有subclassing it的Django默认用户模型,看看https://docs.djangoproject.com/ja/1.9/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_display
--
编辑:虽然我说的并不完全错误,但@rafalmp 的答案是正确的。
【讨论】: