冲突的AlreadyRegistered + NotRegistered在第一个HTTP GET(之后在守护进程模式的WSGI重新加载),管理。 site.unregister抛出一个NotRegistered异常,但admin.site.register抛出一个异常AlreadyRegistered(22条军规?)然而,在随后的HTTP的GET,一切加载只是没有错误的罚款。Django的自定义管理admin.site.register + admin.site.unregister 1日HTTP GET(阿帕奇+ MOD WSGI)
设置:
- Django的1.3
- 阿帕奇2.2
- CentOS的
settings.py:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
#'django.contrib.sites', #(this didn't seem to make a difference)
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
'django.contrib.admindocs',
'base',
'sample',
'reports',
'south',
)
models.py:
from django.db import models
from django.contrib import admin
from django.contrib.auth.models import User
from django.contrib.auth.admin import UserAdmin as AuthUserAdmin
class Company(models.Model):
name = models.CharField(max_length=256)
class CompanyUser(models.Model):
company = models.ForeignKey(Company)
user = models.OneToOneField(User)
class CompanyUserInline(admin.StackedInline):
model = CompanyUser
max_num = 1
can_delete = False
class CompanyUserAdmin(AuthUserAdmin):
inlines = [ CompanyUserInline ]
# STUCK HERE !!
try:
admin.site.unregister(User)
# throws NotRegistered at/The model User is not registered
except:
admin.site.register(User, CompanyUserAdmin)
# throws AlreadyRegistered at/The model User is already registered
通过谷歌(小世界)陷入了这个问题。感谢您回答您自己的问题。 –
明智的答案。我不能给这个+ n。 :( – curlyreggie