首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django管理员注册内联用户配置文件管理员的问题

Django管理员注册内联用户配置文件管理员的问题
EN

Stack Overflow用户
提问于 2010-09-17 03:03:52
回答 1查看 6.5K关注 0票数 9

我目前正在做一个django项目。我正在尝试将UserProfile模型内联添加到我的用户模型中。在我的models.py中,我有:

代码语言:javascript
复制
class UserProfile(models.Model):
    '''
    Extension to the User model in django admin.
    '''
    user = models.ForeignKey(User)
    site_role = models.CharField(max_length=128, choices=SITE_ROLE)
    signature = models.CharField(max_length=128)
    position_title = models.CharField(max_length=128)
    on_duty = models.BooleanField(default=False)
    on_duty_order = models.IntegerField()

在我的admin.py中,我有:

代码语言:javascript
复制
class UserProfileInline(admin.StackedInline):
    model = UserProfile

class UserAdmin(admin.ModelAdmin):
    inlines = [UserProfileInline]


admin.site.unregister(User)
admin.site.register(User, UserAdmin)

当我运行开发服务器时(是的,我已经重启了它),我得到了以下异常:

代码语言:javascript
复制
NotRegistered at /admin
The model User is not registered

此异常来自admin.site.unregister(User)行。

但是,当我注释掉这一行时,我得到了以下异常:

代码语言:javascript
复制
AlreadyRegistered at /admin
The model User is already registered

我的django设置似乎有点两极。我花了一个小时左右的时间研究这个问题,我的代码似乎对其他人很有效。有没有人知道为什么会发生这种情况?

谢谢,特拉维斯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-17 03:26:24

我的猜测是你要么在做一些疯狂的模块导入...或者..。您的settings.INSTALLED_APPS列表中存在排序问题。确保'django.contrib.auth'出现在替换默认管理员的应用程序之前。该列表应如下所示:

代码语言:javascript
复制
INSTALLED_APPS = (
    # django apps first
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.admin',

    # your stuff from here on
    'yourproject.userstuff',
)

这样,django的应用程序会注册User模型,然后您可以取消注册,然后使用您自己的ModelAdmin重新注册。

票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3729866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档