Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 创建CustomUser时出现Syncdb错误_Django_Django Models - Fatal编程技术网

Django 创建CustomUser时出现Syncdb错误

Django 创建CustomUser时出现Syncdb错误,django,django-models,Django,Django Models,问题在于我创建了自定义用户: class CustomUser(AbstractUser): mobile = models.CharField(max_length=16) address = models.CharField(max_length=100) 在settings.py中写下:AUTH\u USER\u MODEL='login.CustomUser' 当我第一次运行manage.py syncdb时(当数据库不包含任何表时),它会抛出一个错误:django.d

问题在于我创建了自定义用户:

class CustomUser(AbstractUser):
    mobile = models.CharField(max_length=16)
    address = models.CharField(max_length=100)
settings.py
中写下:
AUTH\u USER\u MODEL='login.CustomUser'
当我第一次运行manage.py syncdb时(当数据库不包含任何表时),它会抛出一个错误:
django.db.utils.ProgrammingError:relation“auth_group”不存在

但是当我运行
manage.py syncdb
时,如果已经存在带有表的db,那么就可以创建其他表了。当db不包含表时运行它有什么问题?

正如错误所说,CustomUser表与auth_group表有关系,因此除非该表已创建或存在,否则无法在db中创建此新表

当你说“db with tables已经存在,那就没问题了”时,你是手动创建了表还是在你安装的应用程序中包含了管理应用程序

因为如果你包含admin app,它会自动创建auth_group表,所以你不会看到这个问题

  • 在包含自定义用户模型的应用程序目录中创建一个
    migration
    目录
  • 迁移
    目录中创建一个空的
    \uuuuu init\uuuuu.py
    文件
  • 执行
    /manage.py makemigrations
  • 执行
    /manage.py migrate

  • 我认为,当您使用自定义用户模型时,您需要创建迁移。此外,
    syncdb
    已经被弃用,将在Django 1.9中删除,因此最好开始使用
    /manage.py migrate
    命令。

    您使用的Django版本是什么?是的,我包括了管理应用程序:“Django.contrib.admin”,但问题仍然存在