在django中将用户模型扩展到我已经构建的模型之后,我无法迁移到它
我只是在迁移到django项目时遇到了错误。 在我的项目,这已经是50%的dveloped我使用所有者模型来代表店主,然后我使用用户模型登录和注册的目的。 因此,我尝试在我的所有者模型中使用用户模型,以便在附加字段中有效地利用这两种模型。 我尝试使用onetoone字段扩展所有者模型中的用户模型。 执行此操作后,我无法执行迁移,因此我删除了所有迁移文件,但在此之后,在执行迁移时开始出现此错误:-在django中将用户模型扩展到我已经构建的模型之后,我无法迁移到它,django,makemigrations,Django,Makemigrations,我只是在迁移到django项目时遇到了错误。 在我的项目,这已经是50%的dveloped我使用所有者模型来代表店主,然后我使用用户模型登录和注册的目的。 因此,我尝试在我的所有者模型中使用用户模型,以便在附加字段中有效地利用这两种模型。 我尝试使用onetoone字段扩展所有者模型中的用户模型。 执行此操作后,我无法执行迁移,因此我删除了所有迁移文件,但在此之后,在执行迁移时开始出现此错误:- py manage.py makemigrations Traceback (most recent
py manage.py 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 "C:\Users\Mayur\PycharmProjects\StartUp\venv\lib\site-packages\django\core\management\__init__.py", line 401, in execute_from_command_line
utility.execute()
File "C:\Users\Mayur\PycharmProjects\StartUp\venv\lib\site-packages\django\core\management\__init__.py", line 395, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\Users\Mayur\PycharmProjects\StartUp\venv\lib\site-packages\django\core\management\base.py", line 328, in run_from_argv
self.execute(*args, **cmd_options)
File "C:\Users\Mayur\PycharmProjects\StartUp\venv\lib\site-packages\django\core\management\base.py", line 369, in execute
output = self.handle(*args, **options)
File "C:\Users\Mayur\PycharmProjects\StartUp\venv\lib\site-packages\django\core\management\base.py", line 83, in wrapped
res = handle_func(*args, **kwargs)
File "C:\Users\Mayur\PycharmProjects\StartUp\venv\lib\site-packages\django\core\management\commands\makemigrations.py", line 87, in handle
loader = MigrationLoader(None, ignore_no_migrations=True)
File "C:\Users\Mayur\PycharmProjects\StartUp\venv\lib\site-packages\django\db\migrations\loader.py", line 49, in __init__
self.build_graph()
File "C:\Users\Mayur\PycharmProjects\StartUp\venv\lib\site-packages\django\db\migrations\loader.py", line 274, in build_graph
raise exc
File "C:\Users\Mayur\PycharmProjects\StartUp\venv\lib\site-packages\django\db\migrations\loader.py", line 248, in build_graph
self.graph.validate_consistency()
File "C:\Users\Mayur\PycharmProjects\StartUp\venv\lib\site-packages\django\db\migrations\graph.py", line 195, in validate_consistency
[n.raise_error() for n in self.node_map.values() if isinstance(n, DummyNode)]
File "C:\Users\Mayur\PycharmProjects\StartUp\venv\lib\site-packages\django\db\migrations\graph.py", line 195, in <listcomp>
[n.raise_error() for n in self.node_map.values() if isinstance(n, DummyNode)]
File "C:\Users\Mayur\PycharmProjects\StartUp\venv\lib\site-packages\django\db\migrations\graph.py", line 58, in raise_error
raise NodeNotFoundError(self.error_message, self.key, origin=self.origin)
django.db.migrations.exceptions.NodeNotFoundError: Migration listings.0001_initial dependencies reference nonexistent parent node ('owners', '0001_initial')
我希望这会得到帮助,因为我完全被困在这里,也不知道如何解决这个问题。你使用的术语是“我的django项目的迁移文件夹”(在上面的评论中),这是错误的——你项目中的每个应用都有自己的迁移文件夹。具体来说,您的“listings”应用程序中仍有一个迁移,它将您删除的一个迁移列为依赖项。在查看和调试堆栈跟踪后,我终于解决了该问题。
我从与所有者模型有关系的列表应用程序中删除了迁移文件0001,然后当我运行makemigrations命令时,它没有给我任何上述错误或异常。您是否删除了django_migrations表中的数据库行?否,我没有从数据库中删除任何行或数据。我所做的只是从django项目的迁移文件夹中删除0001和002迁移文件。是的,我从所有者应用程序迁移文件夹中删除了文件。在我的列表应用程序中,迁移文件夹下有0001个文件。
from django.db import models
from django.contrib.auth.models import User
class Owner(models.Model):
user = models.OneToOneField(User,on_delete=models.CASCADE, default=False)
name=models.CharField(max_length=200)
photo=models.ImageField(upload_to='photos/%Y/%m/%d/')
description=models.TextField(blank=True)
phone=models.CharField(max_length=20)
email=models.CharField(max_length=20)
def __str__(self):
return self.name