使用Django 1.5,尝试自定义用户功能。
我在项目中只有3个模型。他们在这里,
class CustomUser(AbstractBaseUser, PermissionsMixin):
class CustomUserManager(BaseUserManager):
class testModel (models.Model):
python manage.py validate
时没有错误。当我python manage.py sqlall lancer
(lancer是应用程序的名称)时,它会显示以下内容,
BEGIN;
CREATE TABLE "lancer_testmodel" (
"id" serial NOT NULL PRIMARY KEY,
"first_name" varchar(30) NOT NULL,
"last_name" varchar(30) NOT NULL
)
;
COMMIT;
其他两个模型的SQL代码怎么了?它是否仅为明确继承models.Model
的模型创建表?
其他信息,
AUTH_USER_MODEL = 'lancer.CustomUser'
根据Django文档的settings.py文件contrib.auth
使用了很多它们,但是因为我正在使用它们
一个新的自定义用户模型,我只是评论了其他所有内容。这就是现在的样子,
INSTALLED_APPS = (
#'django.contrib.auth',
#'django.contrib.contenttypes',
#'django.contrib.sessions',
#'django.contrib.sites',
#'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',
'lancer',
)
答案 0 :(得分:4)
好PermissionsMixin
取决于
'django.contrib.auth',
'django.contrib.contenttypes',
如果您只评论django.contrib.auth
并取消注释django.contrib.contenttypes
,
你会有这个错误
CommandError:一个或多个模型未验证: users.myuser:'groups'与模型
<class 'django.contrib.auth.models.Group'>
有一个m2m关系,它已经安装或者是抽象的。 users.myuser:'user_permissions'与模型<class 'django.contrib.auth.models.Permission'>
的m2m关系,该模型尚未安装或是抽象的。
如果您取消注释django.contrib.auth
并发表评论django.contrib.contenttypes
您将收到此错误
CommandError:一个或多个模型未验证: auth.permission:'content_type'与模型&lt;
class 'django.contrib.contenttypes.models.ContentType'>
有关系,该模型尚未安装或是抽象的。
如果你取消注释这两个,sqlall必须生成你的表:D