将Django Admin中的模型添加到用户/组模型中?

时间:2015-07-10 12:33:30

标签: django django-admin

Django管理站点具有身份验证和授权,其中包含用户和组。当我们添加模型时,它们会显示在此下方。是否可以在组,用户下方添加模型?我们如何改变现有的名字?

enter image description here

2 个答案:

答案 0 :(得分:1)

这有点棘手,需要一些工作,它会在Django 1.8中触发一些警告。但这基本上就是你做的事情:

假设您的应用程序myauth将覆盖默认的django.contrib.auth应用程序...

myauth/models.py执行此操作:

from django.db import models

from django.contrib.auth.models import User, Group


class ExtraModel(models.Model):
    ...

ExtraModel是您要添加的模型。

myauth/__init__.py执行此操作:

from django.apps import AppConfig

class OverrideAuthConfig(AppConfig):
    name = 'auth'
    verbose_name = "New User and Authentication"

default_app_config = 'auth.OverrideAuthConfig'

myauth/admin.py执行此操作:

from django.contrib import admin

from .models import User, Group, ExtraModel

admin.site.register(User)
admin.site.register(Group)
admin.site.register(ExtraModel)

settings.pyINSTALLED_APPS内注释:

...
#'django.contrib.auth',
...

只需添加您的应用程序:

...
'myauth',
...

This is the result

答案 1 :(得分:0)

尝试覆盖admin index模板...

将此{% for app in app_list %}更改为{% for app in app_list reversed %}或以某种自定义方式对其进行排序...

修改

似乎我找到了更简单的解决方案:)

https://github.com/mishbahr/django-modeladmin-reorder