我现在正在做一个django项目。我正在尝试将一个UserProfile模型内联添加到我的用户模型中。在我的models.py中有:
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中,我有:
class UserProfileInline(admin.StackedInline):
model = UserProfile
class UserAdmin(admin.ModelAdmin):
inlines = [UserProfileInline]
admin.site.unregister(User)
admin.site.register(User, UserAdmin)
运行开发服务器(是,我已重新启动)时,出现以下异常:
NotRegistered at /admin
The model User is not registered
此异常来自admin.site.unregister(User)
行。
但是,当我注释掉这一行时,会得到以下异常:
AlreadyRegistered at /admin
The model User is already registered
关于我的django设置似乎有点双极性。我花了一个小时左右的时间研究这个问题,我编写的代码似乎对其他人很有用。有人知道为什么会这样吗?
谢谢, 特拉维斯
我猜你是在做一些疯狂的模块导入。。。或者。。。您的
settings.INSTALLED_APPS
列表中存在排序问题。确保'django.contrib.auth'
在替换默认管理员的应用程序之前出现在您的列表中。列表应该如下所示:这样,django的应用程序注册
User
模型,然后注销并用自己的ModelAdmin
重新注册。相关问题 更多 >
编程相关推荐