Python 如何解决我的项目中的文件管理器和站点依赖性问题

Python 如何解决我的项目中的文件管理器和站点依赖性问题,python,django,django-sites,django-filer,Python,Django,Django Sites,Django Filer,目前,我已经开始从事Django项目的工作,该项目是我为了学习而提供的 我已经在我的virtualenv中完成了所有必要的设置,当在我的项目上运行migrate命令时,我得到了如下的依赖性问题 我试图在网上和django doc上找到解决方案,但毫无结果 回溯 Traceback (most recent call last): File "manage.py", line 40, in <module> execute_from_command_line(sys.ar

目前,我已经开始从事Django项目的工作,该项目是我为了学习而提供的

我已经在我的virtualenv中完成了所有必要的设置,当在我的项目上运行migrate命令时,我得到了如下的依赖性问题

我试图在网上和django doc上找到解决方案,但毫无结果

回溯


Traceback (most recent call last):
  File "manage.py", line 40, in <module>
    execute_from_command_line(sys.argv)
  File "/home/moon/production/remax/remax_env/lib/python3.6/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
    utility.execute()
  File "/home/moon/production/remax/remax_env/lib/python3.6/site-packages/django/core/management/__init__.py", line 345, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/moon/production/remax/remax_env/lib/python3.6/site-packages/django/core/management/base.py", line 348, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/moon/production/remax/remax_env/lib/python3.6/site-packages/django/core/management/base.py", line 399, in execute
    output = self.handle(*args, **options)
  File "/home/moon/production/remax/remax_env/lib/python3.6/site-packages/django/core/management/commands/migrate.py", line 89, in handle
    executor = MigrationExecutor(connection, self.migration_progress_callback)
  File "/home/moon/production/remax/remax_env/lib/python3.6/site-packages/django/db/migrations/executor.py", line 20, in __init__
    self.loader = MigrationLoader(self.connection)
  File "/home/moon/production/remax/remax_env/lib/python3.6/site-packages/django/db/migrations/loader.py", line 49, in __init__
    self.build_graph()
  File "/home/moon/production/remax/remax_env/lib/python3.6/site-packages/django/db/migrations/loader.py", line 306, in build_graph
    _reraise_missing_dependency(migration, parent, e)
  File "/home/moon/production/remax/remax_env/lib/python3.6/site-packages/django/db/migrations/loader.py", line 276, in _reraise_missing_dependency
    raise exc
  File "/home/moon/production/remax/remax_env/lib/python3.6/site-packages/django/db/migrations/loader.py", line 302, in build_graph
    self.graph.add_dependency(migration, key, parent)
  File "/home/moon/production/remax/remax_env/lib/python3.6/site-packages/django/db/migrations/graph.py", line 126, in add_dependency
    parent
django.db.migrations.exceptions.NodeNotFoundError: Migration core.0002_auto_20200408_0215 dependencies reference nonexistent parent node ('filer', '0008_auto_20200408_0215')
我曾想过对0002_auto_20200408_0215.py文件中的依赖项行进行注释,但我的朋友告诉我,它应该可以在不删除任何行的情况下工作

有人能告诉我我做错了什么以及如何解决这个问题吗


谢谢。

在迁移之前,键入
python manage.py showmigrations
,您将看到所有应用程序及其迁移(应用或未应用)。
检查是否确实存在迁移名为“0008\u auto\u 20200408\u 0215”的“文件管理器”应用程序。如果没有,则该应用可能不在已安装的应用程序(project/settings.py)中,您应该添加它,或者从依赖项列表中删除依赖项(尽管我不建议这样做)

似乎没有使用所述名称的django文件服务器迁移
0008\u auto\u 20200408\u 0215

考虑到后缀
\u 20200408\u 0215
与您自己的应用程序的迁移文件相同,您的迁移文件是否经过编辑

当您依赖于外部软件包的迁移时,您的应用程序将使用软件包附带的迁移。在正常的工作流程中,您不应该为其他应用程序生成迁移文件

太长,读不下去了解决方案 在已安装的“django filer”应用程序中查找可用的最新迁移,并编辑迁移文件以使用该文件

例子 您必须检查python3.6而不是python3.7,并且您可能需要检查dist包以及站点包,具体取决于您的发行版和安装django filer的方式

我的测试应用程序的models.py如下所示:

from django.db import models
from filer.fields.file import FilerFileField

# Create your models here.
class Myobject(models.Model):
    name = models.CharField(max_length=100)
    other_name = models.CharField(max_length=100)
    file_field = FilerFileField(blank=True, null=True, on_delete=models.SET_NULL)
它在迁移文件中生成依赖项,如下所示:

# Generated by Django 3.0.5 on 2020-04-15 10:21

from django.db import migrations
import django.db.models.deletion
import filer.fields.file


class Migration(migrations.Migration):

    dependencies = [
        ('filer', '0011_auto_20190418_0137'),
        ('testthis', '0001_initial'),
    ]
<snip>

将您的迁移文件与系统上可用的最新django文件管理器迁移对齐。

我尝试了
showmigrations
,但仍然遇到相同的错误。请同时发布一个包含
python manage.py showmigrations
的代码片段,以便我可以准确地告诉您问题所在。
from django.db import models
from filer.fields.file import FilerFileField

# Create your models here.
class Myobject(models.Model):
    name = models.CharField(max_length=100)
    other_name = models.CharField(max_length=100)
    file_field = FilerFileField(blank=True, null=True, on_delete=models.SET_NULL)
# Generated by Django 3.0.5 on 2020-04-15 10:21

from django.db import migrations
import django.db.models.deletion
import filer.fields.file


class Migration(migrations.Migration):

    dependencies = [
        ('filer', '0011_auto_20190418_0137'),
        ('testthis', '0001_initial'),
    ]
<snip>
raise NodeNotFoundError(self.error_message, self.key, origin=self.origin)
django.db.migrations.exceptions.NodeNotFoundError: Migration testthis.0002_myobject_file_field dependencies reference nonexistent parent node ('filer', '0011_auto')