Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.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
Python 迁移admin.0001_首字母在其依赖项app.0001_首字母在数据库';默认值';_Python_Django - Fatal编程技术网

Python 迁移admin.0001_首字母在其依赖项app.0001_首字母在数据库';默认值';

Python 迁移admin.0001_首字母在其依赖项app.0001_首字母在数据库';默认值';,python,django,Python,Django,我正试图在Django中为我的项目定制用户模型 My型号.py: class myCustomeUser(AbstractUser): id = models.AutoField(primary_key=True) username = models.CharField(max_length=20, unique="True", blank=False) password = models.CharField(max_length=20, blank=

我正试图在
Django
中为我的项目定制用户模型

My型号.py

class myCustomeUser(AbstractUser):
    id = models.AutoField(primary_key=True)
    username = models.CharField(max_length=20, unique="True", blank=False)
    password = models.CharField(max_length=20, blank=False)
    is_Employee = models.BooleanField(default=False)
    is_Inspector = models.BooleanField(default=False)
    is_Industry = models.BooleanField(default=False)
    is_Admin = models.BooleanField(default=False)


class Industry(models.Model):
    user = models.OneToOneField(myCustomeUser, on_delete=models.CASCADE, primary_key=True, related_name='industry_releted_user')
    name = models.CharField(max_length=200, blank=True)
    owner = models.CharField(max_length=200, blank=True)
    license = models.IntegerField(null=True, unique=True)
    industry_extrafield = models.TextField(blank=True)


class Employee(models.Model):
    user = models.OneToOneField(myCustomeUser, on_delete=models.CASCADE, primary_key=True, related_name='employee_releted_user')
    industry = models.OneToOneField(Industry, on_delete=models.CASCADE, related_name='employee_releted_industry')
    i_id = models.IntegerField(null=True, blank=False, unique=True)
    name = models.CharField(max_length=200, blank=False, null=True)
    gmail = models.EmailField(null=True, blank=False, unique=True)
    rank = models.CharField(max_length=20, blank=False, null=True)
    employee_varified = models.BooleanField(default=False)


class Inspector(models.Model):
    user = models.OneToOneField(myCustomeUser, on_delete=models.CASCADE, primary_key=True, related_name='inspector_releted_user')
    inspector_extrafield = models.TextField(blank=True)


class Admin(models.Model):
    user = models.OneToOneField(myCustomeUser, on_delete=models.CASCADE, primary_key=True, related_name='admin_releted_user')
    admin_extrafield = models.TextField(blank=True)
AUTH_USER_MODEL = 'app.myCustomeUser'
设置.py中

class myCustomeUser(AbstractUser):
    id = models.AutoField(primary_key=True)
    username = models.CharField(max_length=20, unique="True", blank=False)
    password = models.CharField(max_length=20, blank=False)
    is_Employee = models.BooleanField(default=False)
    is_Inspector = models.BooleanField(default=False)
    is_Industry = models.BooleanField(default=False)
    is_Admin = models.BooleanField(default=False)


class Industry(models.Model):
    user = models.OneToOneField(myCustomeUser, on_delete=models.CASCADE, primary_key=True, related_name='industry_releted_user')
    name = models.CharField(max_length=200, blank=True)
    owner = models.CharField(max_length=200, blank=True)
    license = models.IntegerField(null=True, unique=True)
    industry_extrafield = models.TextField(blank=True)


class Employee(models.Model):
    user = models.OneToOneField(myCustomeUser, on_delete=models.CASCADE, primary_key=True, related_name='employee_releted_user')
    industry = models.OneToOneField(Industry, on_delete=models.CASCADE, related_name='employee_releted_industry')
    i_id = models.IntegerField(null=True, blank=False, unique=True)
    name = models.CharField(max_length=200, blank=False, null=True)
    gmail = models.EmailField(null=True, blank=False, unique=True)
    rank = models.CharField(max_length=20, blank=False, null=True)
    employee_varified = models.BooleanField(default=False)


class Inspector(models.Model):
    user = models.OneToOneField(myCustomeUser, on_delete=models.CASCADE, primary_key=True, related_name='inspector_releted_user')
    inspector_extrafield = models.TextField(blank=True)


class Admin(models.Model):
    user = models.OneToOneField(myCustomeUser, on_delete=models.CASCADE, primary_key=True, related_name='admin_releted_user')
    admin_extrafield = models.TextField(blank=True)
AUTH_USER_MODEL = 'app.myCustomeUser'
这里的
admin.site.register
也是在
admin.py
中完成的。现在,当我尝试
migrate
makemigrations
时,它在终端中显示以下消息:

Traceback (most recent call last):
  File "manage.py", line 21, in <module>
    main()
  File "manage.py", line 17, in main
    execute_from_command_line(sys.argv)
  File "G:\Python\lib\site-packages\django\core\management\__init__.py", line 401, in execute_from_command_line   
    utility.execute()
  File "G:\Python\lib\site-packages\django\core\management\__init__.py", line 395, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "G:\Python\lib\site-packages\django\core\management\base.py", line 328, in run_from_argv
    self.execute(*args, **cmd_options)
  File "G:\Python\lib\site-packages\django\core\management\base.py", line 369, in execute
    output = self.handle(*args, **options)
  File "G:\Python\lib\site-packages\django\core\management\base.py", line 83, in wrapped
    res = handle_func(*args, **kwargs)
  File "G:\Python\lib\site-packages\django\core\management\commands\makemigrations.py", line 101, in handle       
    loader.check_consistent_history(connection)
  File "G:\Python\lib\site-packages\django\db\migrations\loader.py", line 295, in check_consistent_history        
    raise InconsistentMigrationHistory(
django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency app.0001_initial on database 'default'.
回溯(最近一次呼叫最后一次):
文件“manage.py”,第21行,在
main()
文件“manage.py”,第17行,主
从命令行(sys.argv)执行命令
文件“G:\Python\lib\site packages\django\core\management\\ uuuu init\uuuu.py”,第401行,从命令行执行
utility.execute()
文件“G:\Python\lib\site packages\django\core\management\\uuuuu init\uuuuuu.py”,第395行,在execute中
self.fetch_命令(子命令)。从_argv(self.argv)运行_
文件“G:\Python\lib\site packages\django\core\management\base.py”,第328行,运行于\u argv
self.execute(*args,**cmd_选项)
文件“G:\Python\lib\site packages\django\core\management\base.py”,第369行,在execute中
输出=self.handle(*args,**选项)
文件“G:\Python\lib\site packages\django\core\management\base.py”,第83行,包装为
res=句柄函数(*args,**kwargs)
文件“G:\Python\lib\site packages\django\core\management\commands\makemigrations.py”,第101行,在handle中
加载程序。检查\u一致\u历史记录(连接)
文件“G:\Python\lib\site packages\django\db\migrations\loader.py”,第295行,在check\u consistent\u历史记录中
引发不一致的迁移历史记录(
django.db.migrations.exceptions.InconsistentMigrationHistory:Migration admin.0001_initial在数据库“default”上的依赖项app.0001_initial之前应用。

这是什么意思?我也不想在这个
myCustomeUser
模型中设置
username
password
的默认值。另外,请建议我,这是制作
usermodel
的正确方法吗?

在这里,我也尝试在删除完整数据库后进行
迁移,但它不起作用。我如何可以解决这个问题吗?您必须删除并重新生成迁移,只是再次迁移并不能解决问题,因为它被记录在案。这是否回答了您的问题?@iklinac我刚刚运行了
python manage.py migrate admin zero
python manage.py migrate auth zero
python manage.py migrate contenttypes zero
python manage.py migrate sessions zero
删除我的迁移,然后重新
makemigrations
migrate
,但问题仍然存在。在这里,我也尝试在删除完整数据库后进行
migrate
,但它不起作用。我如何解决这个问题?你必须删除并重新进行迁移,只是迁移ting再次无法解决这个问题,因为它被记录在案。这是否回答了您的问题?@iklinac我刚刚运行了
python manage.py migrate admin zero
python manage.py migrate auth zero
python manage.py migrate sessions zero
来删除我的迁移,然后重新
makemigrations
migrate
,但问题仍然存在。