修复Django1.9中检测到的冲突迁移

See*_*u S 7 python django django-models django-migrations

我更新了django-dynamic-model存储库以支持Django 1.9.我收到了这个错误:

CommandError: 

Conflicting migrations detected; multiple leaf nodes in the migration
graph: (0001_initial, 0002_auto__add_field_dynamicschemafield_extra in
dynamicmodel).
To fix them run 'python manage.py makemigrations --merge'
Run Code Online (Sandbox Code Playgroud)

运行后python manage.py makemigrations --merge,我又出现了一个错误:

 File "/local/lib/python2.7/sitepackages/django/core/management/__init__.py",  
line 353, in execute_from_command_line
utility.execute()

 File "/local/lib/python2.7/sitepackages/django/core/management/__init__.py", line 345, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)

 File 
"/local/lib/python2.7/site-packages/django/core/management/base.py", line 348, in run_from_argv
self.execute(*args, **cmd_options)

File 
"/local/lib/python2.7/site-packages/django/core/management/base.py", line 399, in execute
output = self.handle(*args, **options)

File 
"/local/lib/python2.7/site-packages/django/core/management/commands/makemigrations.py", line 97, in handle
return self.handle_merge(loader, conflicts)

File 
   "/local/lib/python2.7/site-packages/django/core/management/commands/makemigrations.py", line 216, in handle_merge
 raise ValueError("Could not find common ancestor of %s" % migration_names)


 ValueError: Could not find common ancestor of set([u'0001_initial', u'0002_auto__add_field_dynamicschemafield_extra']). 
Run Code Online (Sandbox Code Playgroud)

帮我找到解决方案.

PHZ*_*zon 11

迁移需要具有“直”依赖链,即迁移 0003 需要依赖于迁移 0002,而迁移 0002 需要依赖于 0001。

您需要在 0003_third.py 中像这样定义它:

class Migration(migrations.Migration):
    dependencies = [
        ('modulename', '0002_second'),
    ]
Run Code Online (Sandbox Code Playgroud)


Dmi*_*aev 0

看起来您已经注入了其他应用程序的模型。

在迁移中定义 TARGET_APP ,似乎迁移加载程序无法正确识别目标应用程序。