Django没有为我的自定义用户模型创建表

Django没有为我的自定义用户模型创建表,django,model,syncdb,Django,Model,Syncdb,使用Django 1.5,尝试自定义用户功能 我只有3个模型在项目中。在这里 class CustomUser(AbstractBaseUser, PermissionsMixin): class CustomUserManager(BaseUserManager): class testModel (models.Model): 执行python manage.py验证时没有错误。当我执行python manage.py sqlall lancer(lancer是应用程序的名称)时,它显示以

使用Django 1.5,尝试自定义用户功能

我只有3个模型在项目中。在这里

class CustomUser(AbstractBaseUser, PermissionsMixin):
class CustomUserManager(BaseUserManager):
class testModel (models.Model):
执行
python manage.py验证时没有错误。当我执行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代码发生了什么变化?它是否只为显式继承
模型的模型创建表。Model

补充资料

  • 我在最后添加了
    AUTH\u USER\u MODEL='lancer.CustomUser'
    根据Django文档的settings.py文件
  • 我在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',
    )
    

    许可证smixin
    取决于

    'django.contrib.auth',
    'django.contrib.contenttypes',
    
    如果您仅对django.contrib.auth进行注释,并取消对django.contrib.contenttypes的注释,则, 您将遇到此错误

    CommandError:一个或多个模型未验证: users.myuser:“groups”与型号
    有m2m关系,该型号尚未安装或是抽象的。 users.myuser:“user\u permissions”与型号
    有m2m关系,该型号尚未安装或是抽象的

    如果取消对django.contrib.auth的注释

    您将遇到此错误

    CommandError:一个或多个模型未验证: auth.permission:“内容类型”与模型
    有关系,该模型未安装或是抽象的


    如果取消对这两个参数的注释,sqlall必须生成表:D

    Well
    PermissionsMixin
    取决于

    'django.contrib.auth',
    'django.contrib.contenttypes',
    
    如果您仅对django.contrib.auth进行注释,并取消对django.contrib.contenttypes的注释,则, 您将遇到此错误

    CommandError:一个或多个模型未验证: users.myuser:“groups”与型号
    有m2m关系,该型号尚未安装或是抽象的。 users.myuser:“user\u permissions”与型号
    有m2m关系,该型号尚未安装或是抽象的

    如果取消对django.contrib.auth的注释

    您将遇到此错误

    CommandError:一个或多个模型未验证: auth.permission:“内容类型”与模型
    有关系,该模型未安装或是抽象的


    如果取消对这两个变量的注释,sqlall必须生成表:D

    它将添加到设置中变量
    AUTH\u USER\u MODEL
    ?@VictorCastilloTorres是的。我在我的settings.py文件的末尾添加了AUTH\u USER\u MODEL='lancer.CustomUser'。我想你的
    安装了类似
    myapp\u的应用程序,其中我的模型是
    @VictorCastilloTorres我在末尾有它,'lancer',这是我应用程序的名字。除此之外我还需要包括什么吗?我的测试模型似乎工作得很好,只是自定义用户模型没有创建表。我找到了解决方案查看我的答案它已添加到您的设置变量
    AUTH_user_MODEL
    ?@VictorCastilloTorres是的。我在我的settings.py文件的末尾添加了AUTH\u USER\u MODEL='lancer.CustomUser'。我想你的
    安装了类似
    myapp\u的应用程序,其中我的模型是
    @VictorCastilloTorres我在末尾有它,'lancer',这是我应用程序的名字。除此之外我还需要包括什么吗?我的测试模型似乎工作得很好,只是自定义用户模型没有创建表。这是我找到的解决方案看到我的答案谢谢。事实上,我发现我的代码有一个更关键的错误(我本应该完整地发布,但太长了…)。由于我复制了Django现有contrib.auth.AbstractUser的大部分代码,因此我也复制了这段代码:
    类Meta:verbose\u name=\uuUu('user')verbose\u name\u复数=\uUu('users')abstract=True
    ,这显然告诉Django这不是一个真实的模型或其他东西,因为它有这个“abstract=True”事情在删除该选项和您建议的更改后,它起了作用!!非常感谢。YeahManAbstract的意思是“这个模型将不会被用来创建任何数据库表。”正如文档所说()这花了我很长时间才弄明白!我试图将Stormpath添加到我的应用程序中,但他们的文档中没有提到它。非常感谢。非常感谢。事实上,我发现我的代码有一个更关键的错误(我本应该完整地发布,但太长了…)。由于我复制了Django现有contrib.auth.AbstractUser的大部分代码,因此我也复制了这段代码:
    类Meta:verbose\u name=\uuUu('user')verbose\u name\u复数=\uUu('users')abstract=True
    ,这显然告诉Django这不是一个真实的模型或其他东西,因为它有这个“abstract=True”事情在删除该选项和您建议的更改后,它起了作用!!非常感谢。YeahManAbstract的意思是“这个模型将不会被用来创建任何数据库表。”正如文档所说()这花了我很长时间才弄明白!我试图将Stormpath添加到我的应用程序中,但他们的文档中没有提到它。非常感谢。