1

我只是在迁移到我的 django 项目时遇到了错误。在我已经开发了 50% 的项目中,我使用所有者模型来代表商店的所有者,然后我使用用户模型进行登录和注册。所以我尝试在我的所有者模型中使用用户模型,这样我就可以通过附加字段有效地利用这两个模型。 我尝试使用 onetoone 字段在所有者模型中扩展用户模型。这样做之后,我无法进行迁移,所以我删除了所有迁移文件,但之后它在进行迁移时开始出现此错误:-

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')

这是我的所有者模型:-

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

我希望这会得到帮助,因为我完全被困在这里,也没有得到如何解决这个问题。

4

2 回答 2

1

您正在使用术语“我的 django 项目的迁移文件夹”(在上面的评论中),这是错误的 - 您项目中的每个应用程序都有自己的迁移文件夹。具体来说,您的“列表”应用程序中仍然存在迁移,并且它作为依赖项列出了您删除的迁移之一。

于 2020-04-10T12:33:10.207 回答
0

在查看和调试该堆栈跟踪之后,我终于摆脱了这个问题。我从与所有者模型有关系的列表应用程序中删除了迁移文件 0001,然后当我运行 makemigrations 命令时,它没有像我上面提到的那样给我任何错误或异常。

于 2020-04-11T07:23:52.710 回答